Heim  >  Artikel  >  Backend-Entwicklung  >  PHP细说ini_set()

PHP细说ini_set()

WBOY
WBOYOriginal
2016-06-23 13:35:481580Durchsuche


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

 

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

          @代码一

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 &#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;;}?>





以上文章参考:


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




Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:php验证码(在线求解)Nächster Artikel:关于printf格式化输出问题