Предупреждение о включении: Не удается найти файл по правильному пути? - PullRequest
0 голосов
/ 11 февраля 2009
Warning: include(/2008/2009/assets/inc/base/error.inc.php) [function.include]:
failed to open stream: No such file or directory in
C:\Program Files\Apache Group\Apache2\htdocs\2008\2009\assets\inc\base\header.inc.php on line 82

Я получаю вышеуказанную ошибку при включении файла в настройку WAMP. Возможно ли, что Windows интерпретирует / 2008 / как c: / 2008 вместо фактического http://localhost/2008?

Чтобы дать немного больше деталей, у меня есть константа, определенная как ROOT, которую я использую по всему сайту. (ROOT в этом случае установлен на / 2008/2009 /). Я использую ROOT перед путями к изображениям, ссылкам, файлам css, файлам include / require и т. Д. CSS и ссылки правильно масштабируются до localhost / 2008/2009, но файлы для включения не найдены.

Любая помощь будет принята с благодарностью.

PS php.ini имеет включаемый путь, определенный как:

include_path = C:\Program Files\Apache Group\Apache2\htdocs"

Обновление

Я использовал переписывание URL для изменения item / x на item-display.php? Id = x, это изменение в папках - это то, из чего был построен ROOT. Благодаря этому все, что отображается в браузере (imgs, links и т. Д.), Работает без сбоев, но все внутреннее не работает, так как item-display.php - это фактически одна папка вниз. Я переместил item-display.php в папку элементов, и это сделало действия согласованными как на стороне клиента, так и на стороне сервера.

Ответы [ 2 ]

3 голосов
/ 11 февраля 2009

Вы используете абсолютный путь, а не относительный путь.

0 голосов
/ 11 февраля 2009

Если вы используете путь включения, вы должны указать относительный URL, начиная с первого каталога или ./. Кстати, вы должны определить свой путь с помощью чего-то вроде dirname(__FILE__) в файле, положение которого в вашем проекте не будет меняться, или заглянув в сервер. В противном случае установка приложения на другом сервере будет излишне сложной.

...