2015-08-19 3 views
0

У меня есть 3 файла: database.php, intialize.php и config.php. из 3 файлов расположены под папку с именем:php не удалось открыть поток: нет такого файла или каталога

usr/loca/nginx/html/phpcode/php/999_projects/test/include/ 

database.php

<?php 

echo "before"; 
require_once('initialize.php'); 
echo "after"; 

echo LIB_PATH; 
?> 

initialize.php

<?php 

// DIRECTORY_SEPARATOR is a PHP pre-defined constant 
// (\ for Windows,/for Unix) 
defined('DS') ? null : define('DS', DIRECTORY_SEPARATOR); 

defined('SITE_ROOT') ? null : 
    define('SITE_ROOT', $_SERVER["DOCUMENT_ROOT"].DS.'phpcode'.DS.'php'.DS.'999_projects'.DS.'test'); 

defined('LIB_PATH') ? null : define('LIB_PATH', SITE_ROOT.DS.'includes'); 

// load config file first 
require_once(LIB_PATH.DS.'config.php'); 
?> 

config.php

<?php 

// Database Constants 

defined('MYSQL_DSN') ? null : define("MYSQL_DSN", "mysql:host=localhost;dbname=talkback"); 
defined('DB_USER') ? null : define("DB_USER", "user"); 
defined('DB_PASS') ? null : define("DB_PASS", "pass"); 

?> 

После того, как я бегу database.php, я получаю следующее:

Warning: require_once(/usr/local/nginx/html/phpcode/php/999_projects/test/includes/config.php): failed to open stream: No such file or directory in /usr/local/nginx/html/phpcode/php/999_projects/test/include/initialize.php on line 16

И

Fatal error: require_once(): Failed opening required '/usr/local/nginx/html/phpcode/php/999_projects/talkback/includes/config.php' (include_path='.:/usr/share/php:/usr/share/pear') in /usr/local/nginx/html/phpcode/php/999_projects/talkback/include/initialize.php on line 16

3 файлов соответствующих разрешений, а также веб-сервер имеет разрешение на доступ к этим файлы.

Я пробовал в течение прошлых нескольких часов (!), Чтобы исправить это, однако я не могу найти то, что мне не хватает.

Может ли кто-нибудь помочь?

Спасибо,

Qwerty

+0

Часто возникает эта ошибка и для быстрого устранения неполадок выполните следующие действия: stackoverflow.com/a/36577021/2873507 –

+0

Возможный дубликат [Php - Не удалось открыть поток: нет такого файла или каталога] (http: //stackoverflow.com/questions/36577020/php-failed-to-open-stream-no-such-file-or-directory) –

ответ

1

Я думаю, это потому, что вы написали это:

define('LIB_PATH', SITE_ROOT.DS.'includes'); 

... в то время как на самом деле вы имели в виду, чтобы написать это, без 'S' :

define('LIB_PATH', SITE_ROOT.DS.'include'); 

Я вывел это из последнего бита каждого из этих ошибок ors - кажется, файл, из которого эти два других включены, живет в «include», а не в каталоге «includes»?

/usr/local/nginx/html/phpcode/php/999_projects/talkback/include/initialize.php on line 16 
+0

Да, да, да !!! Это означает, что мне нужно сделать перерыв. Если не поймать, это должно быть «включить» вместо «включает». Поэтому в следующий раз, если у меня нет такого файла или каталога, php не ошибается. это кодер, который указал неправильный путь !!! – Qwerty

+0

Я запустил контрольный список устранения неполадок для этой частой ошибки здесь: stackoverflow.com/a/36577021/2873507 –

0

Хорошо, что указанные вами местоположения не совпадают с местонахождение ошибок.

Вы сказали, что все они были расположены под:

/usr/loca/nginx/html/phpcode/php/999_projects/test/include/ 

но ошибки говорят:

/usr/local/nginx/html/phpcode/php/999_projects/talkback/include/ 

один говорит: 'озвучиваться', один говорит: 'тест'. И еще один говорит «включить», в то время как другой говорит «включает». Но если вы уверены, что они находятся под одной и той же папкой, и это правильные местоположения, более чем вероятно, что веб-сервер не имеет доступа для чтения к этому файл.

Вы можете проверить, если путь к файлу правильно, но входя в терминал, и набрав:

cat /usr/local/nginx/html/phpcode/php/999_projects/talkback/includes/config.php 

, если это работает, то путь является правильным, и это будет проблема с разрешениями, которые вы можете проверить используя ls -l и меняя команду chmod (обычно chmod 755 отлично работает).

+0

Привет, ошибки указывают на «тест». Проблема была в указанном мной пути. Спасибо, в любом случае. – Qwerty

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