细说ini_set()

注意啦,这里是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 'start...:'.date('Y-m-d H:i:s')."\n";
echo 'safe_mode=';var_dump(ini_get('safe_mode'));
if(!ini_get('safe_mode'))
{
	echo "不是安全模式\n";

	echo "默认memory_limit=".ini_get('memory_limit')."\n";
	ini_set('memory_limit','1023M');
	echo "修改后memory_limit=".ini_get('memory_limit')."\n";
	echo "\n****************************\n";

	echo "默认upload_max_filesize=".ini_get('upload_max_filesize')."\n";
	ini_set('upload_max_filesize','8M');
	echo "修改后upload_max_filesize=".ini_get('upload_max_filesize')."\n";
	echo "\n".'end...:'.date('Y-m-d H:i:s')."\n";

}
else
{
	echo "安全模式\n";

	echo "默认memory_limit=".ini_get('memory_limit')."\n";
	ini_set('memory_limit','1023M');
	echo "修改后memory_limit=".ini_get('memory_limit')."\n";
	echo 'end';

	echo "默认upload_max_filesize=".ini_get('upload_max_filesize')."\n";
	ini_set('upload_max_filesize','8M');
	echo "修改后upload_max_filesize=".ini_get('upload_max_filesize')."\n";
	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.htm

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

时间: 2024-10-10 13:15:41

细说ini_set()的相关文章

[转]C#综合揭秘——细说多线程(上)

C#综合揭秘——细说多线程(上) 引言 本文主要从线程的基础用法,CLR线程池当中工作者线程与I/O线程的开发,并行操作PLINQ等多个方面介绍多线程的开发.其中委托的BeginInvoke方法以及回调函数最为常用.而 I/O线程可能容易遭到大家的忽略,其实在开发多线程系统,更应该多留意I/O线程的操作.特别是在ASP.NET开发当中,可能更多人只会留意在客户端使用Ajax或者在服务器端使用UpdatePanel.其实合理使用I/O线程在通讯项目或文件下载时,能尽可能地减少IIS的压力.并行编程

匹夫细说C#:不是“栈类型”的值类型,从生命周期聊存储位置

匹夫细说C#:不是"栈类型"的值类型,从生命周期聊存储位置 c#语言规范 阅读目录 0x00 前言: 0x01 堆vs栈? 0x02 谁"能"使用栈? 0x03 结论 0x04 后记补充 回到目录 0x00 前言: 匹夫在日常和别人交流的时候,常常会发现一旦讨论涉及到"类型",话题的热度就会立马升温,因为很多似是而非.或者片面的概念常常被人们当做是全面和正确的答案.加之最近在园子看到有人翻译的<C#堆vs栈>系列,觉得也挺有趣,挺不错

网络基本功系列:细说网络那些事儿

网络基本功(一):细说网络传输 https://community.emc.com/thread/197851?start=0&tstart=0

细说gulp

细说gulp 一.概述&安装 Gulp,简而言之,就是前端自动化开发工具,利用它,我们可以提高开发效率. 比如: 1.  压缩js 2.  压缩css 3.  压缩less 4.  压缩图片 等等… 我们完全可以利用Gulp来自动化地完成这些重复性很强的工作. 好了,废话不多说了.既然要了解Gulp,就得先安装它. Gulp是基于node来实现的,so你得先有个node环境(见“初探nodeJS”). node环境有了后,安装Gulp就很easy咯. 命令行中,输入npm install gul

细说.NET 中的多线程 (一 概念)

为什么使用多线程 使用户界面能够随时相应用户输入 当某个应用程序在进行大量运算时候,为了保证应用程序能够随时相应客户的输入,这个时候我们往往需要让大量运算和相应用户输入这两个行为在不同的线程中进行. 效率原因 应用程序经常需要等待一些资源,如等待网络资源,等待io资源,等待用户输入等等.这种情况下使用多线程可以避免CPU长时间处于闲置状态. 用户态,内核态 线程内的资源有两种运行态,即用户态和内核态.某些运算可以在堆栈上进行,这种情况线程是在用户态运行的,某些需要高权限运行的指令,或者某些优先级

【转】C#综合揭秘——细说多线程(上)

C#综合揭秘——细说多线程(上) 风尘浪子 只要肯努力,梦想总有一天会实现 引言 本文主要从线程的基础用法,CLR线程池当中工作者线程与I/O线程的开发,并行操作PLINQ等多个方面介绍多线程的开发.其中委托的BeginInvoke方法以及回调函数最为常用.而 I/O线程可能容易遭到大家的忽略,其实在开发多线程系统,更应该多留意I/O线程的操作.特别是在ASP.NET开发当中,可能更多人只会留意在客户端 使用Ajax或者在服务器端使用UpdatePanel.其实合理使用I/O线程在通讯项目或文件

细说针对企业内部应用地图开发

从事开发行业以来,本人一直喜欢GIS开发这块.尤其是中国进入电子商务互联网时代以后,电商的发展带动了地图行业的发展,越来越多社会活动和经济活动基于地图开发的产品.各种地图的衍生行业也越来越多,发展最块的就是公共地图行业,百度,谷歌,高德,腾讯等地图龙头企业用户都超大大占有了市场.同时地图衍生社区活动,购物银行等附带产品也日益丰富.在公共地图的打压下,有些地图厂商便将自己的产品转向了企业地图和商用地图的领域. 在地图行业我也算个老人了,所以行业的发展趋势我比较的关注.从朋友的公司最近我也是了解到不

PHP ini_set() 函数

PHP ini_set用来设置php.ini的值,在函数执行的时候生效,对于虚拟空间来说,很方便,下面为大家介绍下此方法的使用 PHP ini_set用来设置php.ini的值,在函数执行的时候生效,脚本结束后,设置失效.无需打开php.ini文件,就能修改配置,对于虚拟空间来说,很方便. 函数格式:string ini_set(string $varname, string $newvalue) 不是所有的参数都可以配置,可以查看手册中的列表. 常见的设置: @ ini_set('memory

细说对象的相等性

1 从Object.Equals方法说起 使用Object.Equals方法能够确定两个Object实例是否相等. Object.Equals方法具有下面重载形式: (1)Object.Equals (Object)  该方法能够确定指定的Object是否等于当前的Object.相等时返回true,否则返回false. (2)Object.Equals (Object, Object)  该方法能够确定指定的两个Object实例是否相等.相等时返回true,否则返回false.此方法为静态方法.