详解ini_set()
印象中在脚本中修改配置,顺手拈来:
@代码一
ini_set("memory_limit","1024M");
还记得最好放在文件最前面,于是,
@代码二
echo ini_get("memory_limit");
ini_set("memory_limit","1024M");
echo ini_get("memory_limit");
exit;
结果都是128M;难道没有权限?难道没有放在文件最前面?难道就是不能修改?
测试代码一能修改!!!
干货来了1:
看手册:
可修改范围是PHP_INI_PERDIR,你可能不知道这是什么意思(参考:http://blog.csdn.net/bravezhe/article/details/18351975)
PHP总共有4个配置指令作用域:(PHP中的每个指令都有自己的作用域,指令只能在其作用域中修改,不是任何地方都能修改配置指令的)
PHP_INI_PERDIR:指令可以在php.ini、httpd.conf或.htaccess文件中修改
干货来了2:
需要在php.ini下修改:
干货来了3:
修改代码二的方法:
在.htaccess文件中直接加上
php_value upload_max_filesize "3M"
朋友的机器上可以,自己的无效,待研究。
或者修改httpd.conf文件,具体如何修改该研究。
测试用例:
http://cn2.php.net/manual/zh/ini.list.php
http://blog.csdn.net/bravezhe/article/details/18351975
http://blog.csdn.net/bravezhe/article/details/18351975
http://www.cnblogs.com/bluefrog/archive/2011/03/01/1967753.html
http://www.laruence.com/2010/04/13/1408.html
http://www.daokers.com/article/original/660.html
http://blog.csdn.net/sunlylorn/article/details/6127354
@代码一
ini_set("memory_limit","1024M");
还记得最好放在文件最前面,于是,
@代码二
echo ini_get("memory_limit");
ini_set("memory_limit","1024M");
echo ini_get("memory_limit");
exit;
结果都是128M;难道没有权限?难道没有放在文件最前面?难道就是不能修改?
测试代码一能修改!!!
干货来了1:
看手册:
可修改范围是PHP_INI_PERDIR,你可能不知道这是什么意思(参考:http://blog.csdn.net/bravezhe/article/details/18351975)
PHP总共有4个配置指令作用域:(PHP中的每个指令都有自己的作用域,指令只能在其作用域中修改,不是任何地方都能修改配置指令的)
PHP_INI_PERDIR:指令可以在php.ini、httpd.conf或.htaccess文件中修改
PHP_INI_SYSTEM:指令可以在php.ini 和 httpd.conf 文件中修改
PHP_INI_USER:指令可以在用户脚本中修改
PHP_INI_ALL:指令可以在任何地方修改干货来了2:
开启了安全模式:代码一同样是无效的。
自己在php version = "5.3.3"上测试发现ini_set("safe_mode",true);无效需要在php.ini下修改:
干货来了3:
修改代码二的方法:
在.htaccess文件中直接加上
php_value upload_max_filesize "3M"
朋友的机器上可以,自己的无效,待研究。
或者修改httpd.conf文件,具体如何修改该研究。
测试用例:
<?php
// test ini_set()
error_reporting(E_ALL ^ E_NOTICE);
date_default_timezone_set("PRC");
echo "start...:".date("Y-m-d H:i:s")."
";
echo "safe_mode=";var_dump(ini_get("safe_mode"));
if(!ini_get("safe_mode"))
{
echo "不是安全模式
";
echo "默认memory_limit=".ini_get("memory_limit")."
";
ini_set("memory_limit","1023M");
echo "修改后memory_limit=".ini_get("memory_limit")."
";
echo "
****************************
";
echo "默认upload_max_filesize=".ini_get("upload_max_filesize")."
";
ini_set("upload_max_filesize","8M");
echo "修改后upload_max_filesize=".ini_get("upload_max_filesize")."
";
echo "
"."end...:".date("Y-m-d H:i:s")."
";
}
else
{
echo "安全模式
";
echo "默认memory_limit=".ini_get("memory_limit")."
";
ini_set("memory_limit","1023M");
echo "修改后memory_limit=".ini_get("memory_limit")."
";
echo "end";
echo "默认upload_max_filesize=".ini_get("upload_max_filesize")."
";
ini_set("upload_max_filesize","8M");
echo "修改后upload_max_filesize=".ini_get("upload_max_filesize")."
";
echo "end";
}
?> 以上文章参考:http://cn2.php.net/manual/zh/ini.list.php
http://blog.csdn.net/bravezhe/article/details/18351975
http://blog.csdn.net/bravezhe/article/details/18351975
http://www.cnblogs.com/bluefrog/archive/2011/03/01/1967753.html
http://www.laruence.com/2010/04/13/1408.html
http://www.daokers.com/article/original/660.html
http://blog.csdn.net/sunlylorn/article/details/6127354
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: PHP实现保留两位小数的三种方法
- 下一篇: tp5源码分析之模板标签库
