我在.htaccess
中使用php_value
和php_flag
规则如:
php_value upload_max_filesize 100M
但是当服务器以 CGI 模式而不是 Apache 模式运行时,这会导致错误,而我必须使用 php.ini 规则,例如:
upload_max_filesize = 100M
我的代码库需要在任一模式下工作,无需手动更改每台服务器。
我花了一段时间才找到一个解决方案,让这两种方法都到位,因为很难找到,我想我会在这里发布我的解决方案。
最佳答案
您可以在 .htaccess 中检测 mod_php
并确保仅在支持时尝试这些指令。在 .htaccess 中:
<IfModule mod_php5.c>
php_value upload_max_filesize 100M
php_flag ...
</IfModule>
注意:根据您的设置,您可能需要将 mod_php5.c
更改为 mod_php4.c
或 mod_php.c
。
此外,您可以在 php 模式下使用 .htaccess 中的以下内容手动阻止多余的 php.ini 文件被公开访问:
<Files ~ "\.ini">
Order allow,deny
Deny from all
</Files>
希望这可以为您节省一些时间!
关于php - 检测 .htaccess 中对 php_value/php_flag 的支持以抑制错误 - PHP CGI 模式 - mod_php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33998265/