php ini_set 不起作用怎么办

php ini_set不起作用的解决办法:1、用“.htaccess”文件修改post_max_size等配置;2、在“httpd.conf”中配置“AllowOverride All”。

本文操作环境:Windows7系统、PHP7.1版本、Dell G3电脑

ini_set不起作用的情况

ini_set — 为一个配置选项设置值

1.并不是所有的php.ini的有效选项都可以用ini_set 来设置;

2.当一个选项可以设置时,但服务器设置了虚拟主机时,不可用.

php ini_set不生效?

PHP配置中,post_max_size,upload_max_filesize用 ini_set() 方法是修改不了的.

正确的做法是用.htaccess文件:

php_value upload_max_filesize 1024M  
php_value post_max_size 1024M

要使.htaccess文件生效,需要在httpd.conf中配置该站点:AllowOverride All

原因:upload_max_filesize 的可修改范围是PHP_INI_PERDIR,可以在php.ini,httpd.conf或.htaccess文件中修改,但是不能用ini_set()修改.

知识点:

常量 值 含义

PHP_INI_USER, 1 ,配置选项可在用户的PHP脚本或Windows注册表中设置

PHP_INI_PERDIR ,2 ,配置选项可在 php.ini, .htaccess 或 httpd.conf 中配置

PHP_INI_SYSTEM ,4 ,配置选项可在 php.ini 或 httpd.conf 中配置

PHP_INI_ALL, 7, 配置选项可在各处设置

PS:

magic_quotes_gpc 用 get_magic_quotes_gpc() 获得,不能用set_magic_quotes_gpc修改,原因是没这个函数。

而magic_quotes_runtime可以用set_magic_quotes_runtime()来设置

推荐学习:《PHP视频教程》

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » php ini_set 不起作用怎么办