0

我在使用 .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 的执行方式,并且不将其硬编码到代码中,那将是非常重要的。

4

2 回答 2

0

.user_ini文件应该在 CGI/FastCGI 的情况下为您提供帮助。通常它会被 mod_php 忽略。

于 2015-05-22T09:57:56.390 回答
0

感谢您的回答,我已经解决了这样的问题。

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

于 2015-05-25T07:49:02.863 回答