Home > Backend Development > PHP Tutorial > PHP细说ini_set()

PHP细说ini_set()

WBOY
Release: 2016-06-23 13:35:48
Original
1607 people have browsed it


          注意啦,这里是PHP的世界,请注意前提条件,你说这个不重要,什么你说这是废话?罚你通读PHP在线手册3天...

 

          印象中在脚本中修改配置,顺手拈来:

          @代码一

ini_set('memory_limit','1024M');
Copy after login

           还记得最好放在文件最前面,于是,


  @代码二


echo ini_get('memory_limit');ini_set('memory_limit','1024M');echo ini_get('memory_limit');exit;
Copy after login


结果都是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"
Copy after login

        朋友的机器上可以,自己的无效,待研究。


       或者修改httpd.conf文件,具体如何修改该研究。


测试用例:


<?php // test ini_set()error_reporting(E_ALL ^ E_NOTICE);date_default_timezone_set("PRC");echo &#39;start...:&#39;.date(&#39;Y-m-d H:i:s&#39;)."\n";echo &#39;safe_mode=&#39;;var_dump(ini_get(&#39;safe_mode&#39;));if(!ini_get(&#39;safe_mode&#39;)){	echo "不是安全模式\n";	echo "默认memory_limit=".ini_get(&#39;memory_limit&#39;)."\n";	ini_set(&#39;memory_limit&#39;,&#39;1023M&#39;);	echo "修改后memory_limit=".ini_get(&#39;memory_limit&#39;)."\n";	echo "\n****************************\n";	echo "默认upload_max_filesize=".ini_get(&#39;upload_max_filesize&#39;)."\n";	ini_set(&#39;upload_max_filesize&#39;,&#39;8M&#39;);	echo "修改后upload_max_filesize=".ini_get(&#39;upload_max_filesize&#39;)."\n";	echo "\n".&#39;end...:&#39;.date(&#39;Y-m-d H:i:s&#39;)."\n";}else{	echo "安全模式\n";	echo "默认memory_limit=".ini_get(&#39;memory_limit&#39;)."\n";	ini_set(&#39;memory_limit&#39;,&#39;1023M&#39;);	echo "修改后memory_limit=".ini_get(&#39;memory_limit&#39;)."\n";	echo &#39;end&#39;;	echo "默认upload_max_filesize=".ini_get(&#39;upload_max_filesize&#39;)."\n";	ini_set(&#39;upload_max_filesize&#39;,&#39;8M&#39;);	echo "修改后upload_max_filesize=".ini_get(&#39;upload_max_filesize&#39;)."\n";	echo &#39;end&#39;;}?>
Copy after login





以上文章参考:


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.htm

http://blog.csdn.net/sunlylorn/article/details/6127354




Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template