关于php.ini的若干问题小结

【① 时区问题】

PHP 使用日期函数

如:

strtotime('2014-01-05');
date('Y-m-d H:i',time());

会出现莫名其妙的会加8小时 或者减八小时 后的结果

那么怎么办?

这是时区问题,修改时区即可。

解决方案一:

ini_set('date.timezone','Asia/Shanghai'); //这句必须放在文件首行
 //或者
 date_default_timezone_set('Asia/Shanghai'); //这句可以放在任何地方

解决方案二:

直接修改PHP.ini文件

data.timezone = 'Asia/Shanghai';

【②上传问题】

很多时候,上传比较大的文件的时候,你就会发现,提示上传超过限制之类的提示

怎么解决?

上传大文件主要涉及配置upload_max_filesize和post_max_size两个选项

找到PHP.ini 文件:

 upload_max_filesize = 1024M
 post_max_size = 1024M

这样上传单个文件就可以达到1G了,当然可以设置你任意想设置的大小。

[注意:] Linux下可能会涉及上传临时文件权限的问题。

如配置

upload_tmp_dir =’/temp/upload’; //需要使用命令增加该目录的读写权限

【③页面执行超时问题】

有时候页面数据量比较大,短时间执行不完,就会出现超时现象

怎么解决?

方式一:

设置php.ini 文件

 max_execution_time = 60*60*10; #表示允许执行的最大时间为10分钟
                                 #当值为0的时候 表示无限制 (不推荐)

方式二:

在程序中修改

//修改最大执行时间

ini_set("max_execution_time", 2400); // s 2400秒 

【④魔术引号的开启与关闭】

关于防止sql注入、表单恶意提交,引入魔术引号,如何开启关闭呢

怎么解决?

方式一:

设置php.ini

 magic_quotes_gpc = Off/on ;
 magic_quotes_runtime = Off/on ;
 magic_quotes_sybase = Off/on ;

方式二:

每个程序的头文件处加入:

 <?php
	if (get_magic_quotes_gpc()) {
		function stripslashes_deep($value)
		{
			$value = is_array($value) ?
						array_map('stripslashes_deep', $value) :
						stripslashes($value);

			return $value;
		}

		$_POST = array_map('stripslashes_deep', $_POST);
		$_GET = array_map('stripslashes_deep', $_GET);
		$_COOKIE = array_map('stripslashes_deep', $_COOKIE);
		$_REQUEST = array_map('stripslashes_deep', $_REQUEST);
	}
  ?> 

【⑤安装扩展程序】

我们以调试工具xbug 为例

下载对应版本的xdebug 文件 将其放入PHP安装目录

在php.ini 中添加如下代码,重启Apache/nginx 即可

 zend_extension = "E:/wamps/php/myext/php_xdebug-2.2.6-5.3-vc9.dll";

 [xdebug]
 xdebug.remote_enable = Off ;
 xdebug.profiler_enable = Off ;
 xdebug.profiler_enable_trigger = on;
 xdebug.profiler_output_name = cachegrind.out.%t.%p;
 xdebug.profiler_output_dir = "E:/wamps/tmp"

当然对于不同的插件具体要加入什么,要根据具体情况而定。

【⑥开启扩展程序库】

比如我们要使用mysql的函数库,我们要开启如下:(去掉前面的‘;‘即可)

 extension=php_mysql.dll
 extension=php_mysqli.dll

时间: 2024-11-13 23:50:31

关于php.ini的若干问题小结的相关文章

Android处理图片OOM的若干方法小结 (推荐)

众所周知,每个Android应用程序在运行时都有一定的内存限制,限制大小一般为16MB或24MB(视平台而定).因此在开发应用时需要特别关注自身的内存使用量,而一般最耗内存量的资源,一般是图片.音频文件.视频文件等多媒体资源:由于Android系统对音频.视频等资源做了边解析便播放的处理,使用时并不会把整个文件加载到内存中,一般不会出现内存溢出(以下简称OOM)的错误,因此它们的内存消耗问题暂不在本文的讨论范围.本文重点讨论的是图片的内存消耗问题,如果你要开发的是一款图片浏览器应用,例如像And

Android处理图片OOM的若干方法小结

前言 众所周知,每个Android应用程序在运行时都有一定的内存限制,限制大小一般为16MB或24MB(视平台而定).因此在开发应用时需要特别关注自身的内存使用量,而一般最耗内存量的资源,一般是图片.音频文件.视频文件等多媒体资源:由于Android系统对音频.视频等资源做了边解析便播放的处理,使用时并不会把整个文件加载到内存中,一般不会出现内存溢出(以下简称OOM)的错误,因此它们的内存消耗问题暂不在本文的讨论范围.本文重点讨论的是图片的内存消耗问题,如果你要开发的是一款图片浏览器应用,例如像

android 加载图片oom若干方案小结

本文根据网上提供的一些技术方案加上自己实际开发中遇到的情况小结. 众所周知,每个Android应用程序在运行时都有一定的内存限制,限制大小一般为16MB或24MB(视手机而定).一般我们可以通过获取当前线程的可运行内存来判断,比如系统分给当前运行内存只有16M,而你的图片就有16M,这肯定会oom的. 相关知识介绍 1.颜色模型 常见的颜色模型有RGB.YUV.CMYK等,在大多数图像API中采用的都是RGB模型,Android也是如此:另外,在Android中还有包含透明度Alpha的颜色模型

CSS若干常见问题小结

1.边框部分问题 [边框为虚线] border:1px dashed #ddd; [边框为实线] border:1px solid #ddd; [table中的tr加下划线边框] 在css中做如下声明 .mytable{border-collapse: collapse;} [table 中的单元格 出现间断边框] <table cellspacing="0" cellpadding="0"></table> 2. 表单部分问题 [给单选/复

C/C++ 关于如何读写ini配置文件 (小结)

我们可能经常用到配置文件ini文件来获取或者保存参数信息,在VC中其函数中主要用到的有: 读取 读取字符   DWORD GetPrivateProfileString(  LPCTSTR lpAppName,        // INI文件中的一个字段名[节名]可以有很多个节名   LPCTSTR lpKeyName,        // lpAppName 下的一个键名,也就是里面具体的变量名   LPCTSTR lpDefault,        // 如果lpReturnedString

[2016-05-13][C++若干问题]

有错请指出,有错请指出,有错请指出,有错请指出,有错请指出,有错请指出, 下面的结论都是在VS下测试的,也许其他编译器会出现不同情况, 比如下面这句,在VS下不能编译,但是在其他编译器能编译(华工OJ支持这种写法) int n = 5; int a[n]; 1. 关于复制构造函数的某个特殊情况, A g(){ return A();} A c = g(); 这种情况,复制构造函数只调用了一次,实际上并没有创建匿名对象,匿名对象直接变成了声明的c, A c; c = g(); 如果是普通的赋值语句

C# 读取INI

虽然微软早已经建议在WINDOWS中用注册表代替INI文件,但是在实际应用中,INI文件仍然有用武之地,尤其现在绿色软件的流行,越来越多的程序将自己的一些配置信息保存到了INI文件中. INI文件是文本文件,由若干节(section)组成,在每个带括号的标题下面,是若干个关键词(key)及其对应的值(Value): [Section] Key=Value VC中提供了API函数进行INI文件的读写操作,但是微软推出的C#编程语言中却没有相应的方法,下面我介绍一个读写INI文件的C#类并利用该类保

博弈初级小结

一.巴什博奕!!!! 巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个.最后取光者得胜. 显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜.因此我们发现了如何取胜的法则:如果n=(m+1)r+s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如果后取者拿走k(≤m)个,那么先取者再拿走m+1-k个,结果剩下(m+1)(r-1)个,以后保持这样的取法,那么先取者

C++ 编程第二章小结

switch()用法的注意事项 1:switch语句中的表达式只能是整形数据,字符型数据和枚举型数据,case后面的产量表达式的类型必须与switch括号后面的类型相匹配 2:各个case(包括default)的出现次序可以任意,每个case在带有break的前提下,case的次序不影响执行结果 循环设计 循环设计的几种分类方法这里介绍几种 1:字符图形类 2:素数判断类 3:逻辑判断类 4:级数逼近类 a:对于图形类的基本循环格式一般是 for(int i = 1; i < 10 ;i ++)