php动态更改post_max_size, upload_max_filesize等值

 

     在配置文件里 有些PHP 配置选项可以用int_set() 函数 直接在 项目里修改。但是有些值确不行。例如和上传文件有关的post_max_size和upload_max_filesize

int_set('post_max_size','1024M') 和 int_set('upload_max_filesize', '1024M') 都修改不了原值。

在PHP 文档有说明三个修改指令:

  • PHP_INI_PERDIR 可以在php.ini,httpd.conf,.htaccess 文件修改
  • PHP_INI_SYSTEM 可以在php.ini,httpd.conf 中修改
  • PHP_INI_ALL 只有修改范围是这个的才能用int_set 修改

如果想动态的修改不是PHP_INI_ALL 又是PHP_INI_PERDIR属性的正确方法是: 
在文件所在目录下的.htaccess 文件里写下这些修改配置项:

<!--lang:shell--><IFModule mod_php5.c>php_value upload_max_filesize 2000Mphp_value post_max_size 2500Mphp_value max_file_uploads 50</IFModule>

其中 post_max_size 大于 upload_max_filesize 为佳

.htaccess这个文件,这个文件是apache用的分布式配置文件

.htaccess必须以ASCII模式上传,而且给其可读权限。

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

</IfModule>

 

# BEGIN WordPress

<IfModule mod_rewrite.c> #如果mode_rewrite.c模块存在 则执行以下指令

RewriteEngine On  #开启rewriteEngine

RewriteBase /   #重写范围,这里/为本地顶级目录

RewriteRule ^index\.php$ – [L]  #重写规则

RewriteCond %{REQUEST_FILENAME} !-f  #重写条件,%{}中内容为apache定义的一系列返回参数

RewriteCond %{REQUEST_FILENAME} !-d  #重写条件,%{}中内容为apache定义的一系列返回参数

RewriteRule . /index.php [L]  #同样是重写规则

</IfModule>

# END WordPress

这是我们开启了固定链接功能之后,wordpress给我们加上的htaccess

#重写规则

^index\.php$是匹配正则表达式,只匹配了index.php

后面的短线 如果我没记错的话 就是指null

后面的L是结束符号,同等级的还有

[L](last):终止一系列的RewriteCondRewriteRule  

[R](redirect):触发一个显示的跳转,也可以指定跳转类型,如[R=301]  

[F](forbidden):禁止查看特定文件,apache会触发403错误

[NC](no case):表示忽略大小写

转载于:https://www.cnblogs.com/jingzi111/p/5044651.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值