> 백엔드 개발 > PHP 튜토리얼 > PHP细说ini_set()

PHP细说ini_set()

WBOY
풀어 주다: 2016-06-23 13:35:48
원래의
1607명이 탐색했습니다.


          注意啦,这里是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




관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿