>  기사  >  php教程  >  关于php.ini的若干问题小结

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

WBOY
WBOY원래의
2016-06-06 19:41:551317검색

【① 时区问题】 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





성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.