在.htaccess中检测对php_value / php_flag的支持以抑制错误 - PHP CGI模式 - mod_php

时间:2015-11-30 12:05:17

标签: php .htaccess mod-php

我在php_value中使用php_flag.htaccess规则,例如:

php_value upload_max_filesize 100M

但是当服务器以CGI模式而不是Apache模式运行时,这会导致错误,而我必须使用php.ini规则,例如:

upload_max_filesize = 100M

我的代码库需要适用于任何一种模式,无需为每台服务器进行手动更改。

我花了一段时间才找到一个解决方案,允许两种方法都到位,而且很难找到,我以为我会在这里发布我的解决方案。

1 个答案:

答案 0 :(得分:8)

您可以在.htaccess中检测mod_php并确保仅在支持时尝试使用这些指令。在.htaccess中:

<IfModule mod_php5.c>
   php_value upload_max_filesize 100M
   php_flag ...
</IfModule>

注意:根据您的设置,您可能需要将mod_php5.c更改为mod_php4.cmod_php.c

此外,您可以手动停止冗余的php.ini文件,以便在php模式下使用.htaccess中的以下内容进行公开访问:

<Files ~ "\.ini">
   Order allow,deny
   Deny from all
</Files>

希望这可以节省你一些时间!