2017-02-15 27 views
1

У меня возникла проблема с включенными путями в Slim-приложении на apache/ubuntu с PHP 7. Когда моя индексная страница app/routes пытается включить файл, расположенный в подкаталоге, Я получаю следующее в моем апаче error.log, но путь кажется правильным для меня:Включить путь Предупреждение PHP на Ubuntu с Slim-приложением

PHP Warning: include(myapp/production/include.php): failed to open stream: No such file or directory in /var/www/html/index.php on line 33 
PHP Warning: include(): Failed opening 'myapp/production/include.php' for inclusion (include_path='.:/usr/share/php') in /var/www/html/index.php on line 33 

структура каталога:

/var/www/html/ 
├── index.php 
├── myapp/ 
│ ├── vendor/ 
│ └── production/ 
│  └── include.php 

соответствующей строка 33 в index.php:

include ('myapp/production/include.php'); 

Может ли быть что-то связанное с правами на файлы/каталоги, которые вызывают это? Я достаточно разбираюсь в настройке веб-приложений на Linux-серверах; любая помощь приветствуется.

EDIT:

Я добавил тест включает файл в основном веб-каталога (такой же, как index.php), и которые включают в себя работает.

+1

Да, вы должны проверить разрешения, и даже ради отладки я создам файл 'test.php' в той же папке, что и' index.php', и попробуем «включить» его, тогда вы поймете, о разрешениях или нет – smarber

+0

Я попробовал тест, включенный в корень сети, и он работает. – Marcatectura

+0

Тогда либо путь неправильный, либо некоторые разрешения отсутствуют – smarber

ответ

0

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

У Linux есть файловая система, чувствительная к регистру, поэтому каталог с именем Production отличается от production.

Убедитесь, что текст, который вы используете в своем операторе include, точно соответствует именам каталогов и файлов, находящихся на диске.

 Смежные вопросы

  • Нет связанных вопросов^_^