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






На два каталога ниже, откуда запущен файл (или файл, который его включил).
Что касается лучших практик, я могу вам дать только два совета.
Относительный путь должен работать нормально (предупреждение: apache в окнах, насколько я знаю, не следуйте симлинкам или тому, что вызывается в этой ОС).
Возможно, вам стоит использовать синтаксис (чтобы избежать проблем с разными версиями php)
ini_set('include_path', 'yourdir');
и проверьте возвращаемое значение, чтобы убедиться, что все в порядке.
Обращаясь к лучшим практикам: Для меня установка директивы конфигурации в скрипт, особенно для всего проекта, неверна или, по крайней мере, опасна.
Лучше всего поместить директиву в файл .htaccess в каталоге, который содержит ваш проект php файлы.
Еще лучше, это быстрее, поместите директивы в соответствующий раздел виртуального хоста вашей конфигурации apache. Однако для разработки .htaccess более гибкий и поэтому предпочтительнее.
Должно получиться примерно так: php_value include_path ".: ../ ..: <ваша коллекция путей>"
Это позволяет вам делиться конфигурацией php без возни с директивой ini_set в каждом файле php, который вы пишете.
Не говоря уже о том, что если у вас есть специальный файл, для которого требуется настраиваемый include_path, вы можете установить его в файле, и это станет очевидным для всех с первого взгляда.
См. Этот связанный SO вопрос о стратегии пути включения для получения дополнительных идей.