Могу ли я иметь несколько файлов php.ini? - PullRequest
3 голосов
/ 09 декабря 2008

Я хочу установить переменную include_path в моем файле php.ini (C:\Windows\php.ini).

Но я хочу разные значения include_path для разных сайтов, размещенных на одном сервере Windows. Как я могу это сделать?

Ответы [ 4 ]

4 голосов
/ 09 декабря 2008

http://php.net/manual/en/configuration.file.php говорит:

php.ini ищется в этих местах (по порядку):

. , .

Вы можете просмотреть этот список и посмотреть, поможет ли один из методов в вашем случае. Например, вы можете установить переменную окружения PHPRC, или вы можете поместить разные файлы php.ini в каждый текущий рабочий каталог, предполагая, что у каждого виртуального хоста есть отдельный cwd.

Обратите внимание, что при использовании Apache и mod_php или другого модуля, внедряющего PHP в веб-сервер (например, FastCGI), файл php.ini читается один раз при запуске веб-сервера. Когда вы используете PHP в CGI-формате, файл php.ini читается при каждом веб-запросе, поэтому у вас больше возможностей использовать другой php.ini.

3 голосов
/ 09 декабря 2008

Вы можете установить php include_path из файла .htaccess, при условии, что в вашем файле httpd.conf установлены правильные настройки AllowOverride. Вот пример того, как:

.htaccess

php_value include_path "d:\path\to\include"
2 голосов
/ 09 декабря 2008

Как я понимаю вопрос, важнее ли иметь индивидуальные пути включения для каждого сервера / сайта, а не несколько файлов php.ini? Я бы сказал, держите ваш код на PHP как можно дальше.

Тогда вы можете просто установить include_path с помощью set_include_path or ini_set.

В apache вы можете установить его в виртуальном домене или в файле .htaccess с помощью php_value include_path "<first path to look>:<second path>:<etc>:.". IIS, вероятно, имеет аналогичный метод.

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

К сожалению, я не думаю, что вы можете. Однако некоторые веб-серверы могут изменять настройки PHP в индивидуальном порядке ... Apache, использующий mod_php, имеет настройку php_value, которую вы можете установить на различных виртуальных хостах, IIS может иметь что-то подобное, но я не уверен.

set_include_path также может переопределить путь включения во время выполнения.

P.S. TF2 Engineer для победы.

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