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视频教程》