Я пишу PHP-приложение, и я только что столкнулся с действительно странной ошибкой. После недавнего перехода на новый (Ubuntu) сервер, я начал получать фатальные ошибки в инструкции require_once. Таким образом, очевидно, что файл не существует, или права на файлы неправильные, не так ли?Linux: Файл существует и не существует
Нет, как выясняется:
Файл существует
Файл извлечен из хранилища SVN. Когда я захожу в папку и перечисляю файлы (ls или ls -l), файл явно там и имеет правильный размер файла. Когда я обновляю файл в репозитории и обновляю рабочую копию, изменения копируются в рабочую копию. Файл имеет разрешения 755, поэтому каждый должен иметь возможность видеть и читать. Другие файлы в том же каталоге работают нормально.
Файл также не существует:
PHP выходит с фатальной ошибкой, потому что файл не может быть найден. Если я использую команду найти -команд, файл не найден. Если я попытаюсь использовать nano, чтобы отредактировать файл, он утверждает, что его не существует. Если я начну вводить имя файла и нажимаю вкладку для автозаполнения, он не может найти файл.
Такое поведение произошло на двух отдельных серверах, но отлично работает на третьем сервере. Все серверы запускают Ubuntu 10.04.
Кто-нибудь знает, что происходит?
EDIT:
Имя файла: AdminIpv4RangeAddFormHandler.inc.
Полное сообщение об ошибке, с путями к файлам затемняется:
Warning: require_once(fullpath/AdminIpv4RangeAddFormHandler.inc): failed to open
stream: No such file or directory in fullpath/anotherfile.inc on line 34 Fatal error:
require_once(): Failed opening required 'fullpath/AdminIpv4RangeAddFormHandler.inc'
(include_path='.:/usr/share/php:/usr/share/pear') in fullpath/anotherfile.inc on line
34
Следующая команда не производит никакого вывода:
find -name AdminIpv4RangeAddFormHandler.inc -ls
А регулярные Ls -lI выходов (среди других) эту строку:
2233407 -rwxr-xr-x 1 root root 1597 2011-12-13 08:02 AdminIPv4RangeAddFormHandler.inc
Можете ли вы добавить здесь 'ls -li' и' find ... -ls'? Это, конечно, звучит неловко. – sarnold
Задавать вопросы о ошибках PHP ** без публикации фактического сообщения об ошибке ** совершенно не имеет смысла. Пожалуйста, не тратьте слишком много слов, описывающих проблему. Это не сайт энтузиастов-романистов, это сайт программистов-энтузиастов. Скопировать/вставить фактические сообщения об ошибках и вывод консоли достаточно –
Что такое имя файла? – meouw