我在使用.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值作为模块执行,它使用处理程序。
找到这个fastcgi,但没有使它工作。
<IfModule fastcgi_module>
AddHandler php5-fastcgi .php
Action php5-fastcgi /cgi-bin/php.fcgi
</IfModule>
如果在两种情况下都有另一种方法来改变include_path,而不是取决于PHP的执行方式,而不是将其硬编码到代码中,那将非常感激。
在CGI / FastCGI的情况下,.user_ini文件应该可以帮助您。通常它会被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,仍然很高兴知道存在另一种解决方案。