PHP set_inlude_path и включает лучшие практики - PullRequest
0 голосов
/ 27 декабря 2008

Где бы

set_include_path("../../");

указывает на?

Я пытаюсь запустить некоторый код PHP на стандартном сервере XAMPP. И положи мои вещи в папку htdocs. Включения указывают на относительные пути, но это не работает. Есть ли лучшая практика для включений? Код должен запускаться на машинах нескольких разработчиков.

Ответы [ 2 ]

1 голос
/ 27 декабря 2008

Относительный путь должен работать нормально (предупреждение: apache на windows, как я знаю, не следует по ссылкам sim или тому, что вызывается на этой ОС).

Возможно, вам следует использовать синтаксис (во избежание проблем с разными версиями php)

ini_set('include_path', 'yourdir');

и проверьте возвращаемое значение, чтобы убедиться, что все в порядке.

Обращаясь к лучшим практикам: Для меня установка директивы конфигурации в сценарии, особенно если это касается всего проекта, является неправильной или, по крайней мере, опасной.

Лучше всего поместить директиву в файл .htaccess в каталоге, в котором находится ваш php файл проект.

Еще лучше, это быстрее, поместите директивы в соответствующий раздел virtualhost вашей конфигурации apache. Однако для разработки .htaccess более гибок и поэтому предпочтителен.

Это должно быть примерно так: php_value include_path ".: ../ ..: <коллекция ваших путей>"

Это позволяет вам делиться конфигурацией php без необходимости с директивой ini_set в каждом файле php, который вы пишете.

Не говоря уже о том, что если у вас есть специальный файл, для которого требуется специальный include_path, вы можете установить его в этом файле, и это будет видно всем очень быстро.

0 голосов
/ 27 декабря 2008

В двух каталогах, откуда запускается файл (или файл, который его включал).

Что касается лучших практик, я могу дать только два совета.

  1. Использовать относительные пути.
  2. Если относительные пути доставляют вам проблемы, используйте абсолютный путь в качестве одной статической переменной, и разработчики изменяют только эту одну переменную.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...