DSO ломает мой php-код

Я только что попросил у своей хостинговой компании установить APC, после чего мне сказали, что им придется переключить обработчик PHP с suPHP на DSO + modruid2 или FastCGI, я выбрал DSO.

Но теперь мой сайт сломался! На странице полно предупреждений о том, что включаемые файлы не найдены. Нравится:

Warning: include(): Filename cannot be empty in /home/mydomain/public_html/index.php on line 14

Warning: include(): Failed opening '' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/mydomain/public_html/index.php on line 14

Есть ли проблема с разрешениями? Какие изменения конфигурации необходимы для работы DSO? Может быть, modruid2 не был установлен должным образом? Или проблема вызвана из-за APC? У меня действительно нет большого опыта работы с обработчиками PHP, и я не могу найти решение ни в своей хостинговой компании, ни в Интернете!

Редактировать

Это строка 14, которая вызывает указанную выше ошибку — до проблемы с DSO она работала нормально:

include ("include/header.php"); 

И я получаю аналогичные ошибки везде, где я включил файлы.


person user961627    schedule 17.07.2013    source источник


Ответы (1)


Как бывший системный администратор Linux для веб-хостинга, наиболее распространенные решения этих проблем включали исправление разрешений после переключения обработчика PHP. Администратор, который сделал переключение, должен был сделать это как часть переключения, но разрешения не обновляются автоматически при переключении обработчика PHP, а разные обработчики иногда имеют несколько разные требования к разрешениям. Тот факт, что ваш веб-сайт выдает ошибки, жалуясь на невозможность открыть файлы, которые, как вы можете проверить, не были затронуты, удалены или перемещены, в значительной степени согласуется с проблемами разрешений. Я бы отправил дополнительный запрос вашему веб-хостингу и попросил их убедиться, что ваши права доступа к файлам/каталогам верны для DSO.

person Njugu Gachugu    schedule 01.09.2016