apache — PHP не может открыть включаемый файл

У меня проблема с PHP-скриптом. Следующая ошибка регистрируется при каждом доступе к сайту:

[Fri Sep 26 11:57:56 2014] [error] [client 31.22.44.2]
PHP Fatal error:  require_once(): Failed opening required
'./sites/default/modules/views/handlers/views_handler_field_markup.inc'
(include_path='.:/usr/share/php:/usr/share/pear') in
/var/www/www.xoomtalk.com/htdocs/sites/default/modules/views/includes/handlers.inc
on line 76

Я подтвердил, что упомянутый файл присутствует, и что www-данные могут получить к нему доступ. Разрешения выглядят нормально и не были изменены, насколько я знаю

Что мне не хватает?

0

Решение

[Пт, 26 сентября 11:57:56 2014] [ошибка] [клиент 31.22.44.2] PHP Fatal
ошибка: require_once (): не удалось открыть
‘./Sites/default/modules/views/handlers/views_handler_field_markup.inc’
(include_path = ‘.: / usr / share / php: / usr / share / pear’) в
/var/www/www.xoomtalk.com/htdocs/sites/default/modules/views/includes/handlers.inc
на линии 76

Добавить путь /var/www/www.xoomtalk.com/htdocs в ваш include_path

Больше объясняет:

ваш include_path=.:/usr/share/php:/usr/share/pear , означает, что php-скрипт найдет включаемый файл в: current_path, / usr / share / php или / usr / share / pear

когда вы хотите запросить этот файл
./sites/default/modules/views/handlers/views_handler_field_markup.inc

все разрешенные пути:
(текущий путь)
/var/www/www.xoomtalk.com/htdocs/sites/default/modules/views/includes/./sites/default/modules/views/handlers/views_handler_field_markup.inc

(/ usr / share / php) /usr/share/php/./sites/default/modules/views/handlers/views_handler_field_markup.inc

(/ USR / доли / груша)
/usr/share/pear/sites/default/modules/views/handlers/views_handler_field_markup.inc

В этом пути php не может найти файл.

1

Другие решения

в следующем файле:
/var/www/www.xoomtalk.com/htdocs/sites/default/modules/views/includes/handlers.inc
на линии 76

Изменить это:

'./sites/default/modules/views/handlers/views_handler_field_markup.inc'

к этому: '/var/www/www.xoomtalk.com/htdocs/sites/default/modules/views/handlers/views_handler_field_markup.inc'

Это должно сделать свое дело.
Проблема в том, что вы используете скрипты из разных каталогов, но «корнем» запроса является cwd (текущий рабочий каталог), который вы можете проверить с помощью: getcwd ()
(и вы просите включить родственник к cwd.

1

Мне удалось решить эту проблему, и в итоге я не имел ничего общего с разрешениями или путями, хотя в журналах Apache об этом не было никаких указаний.

Проблема заключалась в том, что на сервере также выполнялся AppArmor, который по какой-то причине блокировал доступ к файлам для процесса Apache.

AppArmor был установлен, чтобы жаловаться, а не применять режим для тестирования (команда aa-complain apache2) это заставило все начать работать.

Спасибо всем авторам за их предложения.

0
По вопросам рекламы [email protected]