首页 > php教程 > php手册 > 正文

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

WBOY
发布: 2016-06-06 19:41:55
原创
1316 人浏览过

【① 时区问题】 PHP 使用日期函数 如: strtotime(2014-01-05);date(Y-m-d H:i,time()); 会出现莫名其妙的会加8小时 或者减八小时 后的结果 那么怎么办? 这是时区问题,修改时区即可。 解决方案一: ini_set(date.timezone,Asia/Shanghai); //这句必须放在

【① 时区问题】

 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(&#39;stripslashes_deep&#39;, $value) :
						stripslashes($value);

			return $value;
		}

		$_POST = array_map(&#39;stripslashes_deep&#39;, $_POST);
		$_GET = array_map(&#39;stripslashes_deep&#39;, $_GET);
		$_COOKIE = array_map(&#39;stripslashes_deep&#39;, $_COOKIE);
		$_REQUEST = array_map(&#39;stripslashes_deep&#39;, $_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
登录后复制





相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板