Условный .htaccess на основе API сервера Apache

У меня проблемы с .htaccess, особенно с изменением значения include_path. На моем сервере разработки PHP запускается как модуль, поэтому я могу использовать:

php_value  include_path "/whatever/path/i/want"

Теперь, когда я мигрировал на реальный сервер, PHP запускается как CGI/FastCGI, поэтому мой последний трюк не работает, поэтому я усвоил трудный путь и заставил все это работать с помощью обработчиков apache, поэтому он загружает пользовательский php.ini с измененным путем включения:

AddHandler php5-fastcgi .php
Action php5-fastcgi /cgi-bin/php.fcgi

Теперь возникает вопрос. Мне нужен блок кода для каждого случая, поэтому он использует обработчик, если он выполняется как CGI/FastCGI, или php_value, если он является модулем.

Нашел это для fastcgi, но не заработал.

<IfModule fastcgi_module>
   AddHandler php5-fastcgi .php
   Action php5-fastcgi /cgi-bin/php.fcgi
</IfModule>

Если есть другой способ изменить include_path в обоих случаях, не зависящий от того, как выполняется PHP, и не жестко кодирующий его в коде, это было бы очень ценно.


person Ruso_x    schedule 22.05.2015    source источник


Ответы (2)


Файл .user_ini должен помочь вам в случае CGI/FastCGI. Обычно это игнорируется для mod_php.

person umka    schedule 22.05.2015

Спасибо за ответ, я решил свою проблему так.

<IfModule mod_php5.c>
   php_value  include_path "path/I/want"
</IfModule>
<IfModule !mod_php5.c>
   AddHandler php5-fastcgi .php
   Action php5-fastcgi /cgi-bin/php.fcgi
</IfModule>

Во всяком случае, я не знал о user.ini, но приятно знать, что существует другое решение.

person Ruso_x    schedule 25.05.2015