利用.htaccess定义一些网站常用的php.ini数值

一般来说虚拟主机都有启用mod_rewrite模组功能,所以不需要设定就能使用.htaccess来定义php.ini的参数内容,使用.htaccess的好处是如果网站搬家就不用再改一次php.ini,只要.htaccess搬过去所有参数都能套用,如果是自己架的主机,像是xampp套件,或是apache套件,就要先检查mod_rewrite模组是否有被启用,请找到以下档案,用笔记本打开:

apache/conf/httpd.conf

如果是lampp位置是在
/opt/lampp/etc/httpd.conf

搜寻LoadModule rewrite_module modules/mod_rewrite.so,检查看看前面是否有#号,如果有#将其去除后重启apache伺服器。

这样表示mod_rewrite模块被启用了,但不代表就能使用.htaccess,还需要吧httpd.conf中所有的AllowOverride设定通通改为All,预设是None。

AllowOverride None ->改为 AllowOverride All

然后重启apache伺服器

这样就能使用.htaccess来定义php.ini的参数内容,可以在网站根目录中先建立一个.htaccess档,然后用笔记本打开,贴上以下常用的各项参数设定

RewriteEngine On

php_value date.timezone 'Asia/Taipei'
php_value post_max_size 1000M
php_value upload_max_filesize 1000M
php_value max_execution_time 6000000
php_value max_input_vars 5000
php_value max_input_time 600
php_value memory_limit -1
php_value default_socket_timeout 600
php_value max_file_uploads 300

参数说明

php_value date.timezone 'Asia/Taipei'

这是定义时区的参数,php.ini预设是G+0时区,定义为Asia/Taipei后就是台湾时区G+8。

php_value post_max_size 1000M

表单POST时档案最大的,这裡设为1000M=1GB,足够POST超大型档案了。

php_value upload_max_filesize 1000M

单次上传一次的档案大小,一样设为1000M。

php_value max_execution_time 6000000

程式执行的时间上限,超过这时间画面通常会变空白,所以这数值可以设大一点(单位:秒)

php_value max_input_vars 5000

这是表单可以接收POST过来的变数最大量,建议改大一点,这样如有大量变数传送才不会失败

php_value max_input_time 600

每个程序解析输入数据 (POST, GET, upload) 的最大允许时间(秒)。
-1 表示不限制。

php_value memory_limit -1

程式执行能使用记忆体的最大容量,设为-1 表示不限制。

php_value default_socket_timeout 600

Socket无回应时几秒断线,可是需求设定数值。
何谓Socket?

php_value max_file_uploads 300

最多一次能上传多少档案,像是多图上传批次上传之类的,超过这数值会上传失败,不过300已经足够了,伺服器CPU如果不够强可能还会跑到当机。

看一下调整后的参数是否有生效

参与评论