基于 apache 服务器的条件 .htaccess API

Conditional .htaccess based on apache server API

我在使用 .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

那么问题来了。每种情况我都需要一个代码块,因此它使用处理程序 if 作为 CGI/FastCGI 或 php_value 作为模块执行。

为 fastcgi 找到了这个,但没有成功。

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

如果有另一种方法可以在这两种情况下更改 include_path,而不取决于 PHP 的执行方式,并且不将其硬编码到代码中,将非常受欢迎。

.user_ini 文件应该可以帮助您 CGI/FastCGI。 mod_php.

通常会被忽略

谢谢你的回答我已经这样解决了我的问题

<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,仍然很高兴知道存在另一种解决方案。