Файл PHP не найден для require_once, другие находятся в том же каталоге - PullRequest
0 голосов
/ 09 октября 2009

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

<?php

require_once("a_file.php"); //this file loads
require_once("another_file.php"); //so does this one
require_once("problem_file.php"); //this one does not.

echo foo('I exist');

?>

и код файла не найден.

<?php

function foo($string) {
if ($string) {
    return $string;
    }
}

?>

Правописание для файла было проверено на правильность как в файле с требованием, так и в вызываемом файле. Путь включения в файле .htaccess является правильным (в противном случае ни один из обязательных файлов не загрузился бы без указания полного пути. Сообщение об ошибке «Не удалось открыть поток. Нет такого файла или каталога». файлы в каталоге include.

Кто-нибудь еще сталкивался с этой проблемой?

Ответы [ 3 ]

2 голосов
/ 09 октября 2009

Есть ли у вас ошибки в error_log? Возможно, третий файл содержит еще несколько require_once, которые не найдены.

Вы можете попробовать использовать $ _ SERVER ['DOCUMENT_ROOT'] , чтобы получить корневой каталог и использовать его для своих нужд.

0 голосов
/ 09 октября 2009

Разумно ли предположить, что реальный файл, который не будет содержать, - , а не , называемый problem_file.php? Если это так, то, возможно, имя вашего файла содержит символы (например, пробелы), которые необходимо экранировать.

0 голосов
/ 09 октября 2009

Быстрый способ узнать, пришло ли оно из содержимого файла, - вставить его в основной файл.

Если этот тест ничего не дает, убедитесь, что у PHP достаточно прав для чтения соответствующего файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...