Home > php教程 > php手册 > body text

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

WBOY
Release: 2016-06-06 19:41:55
Original
1317 people have browsed it

【① 时区问题】 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());
Copy after login
会出现莫名其妙的会加8小时 或者减八小时 后的结果
 那么怎么办?
 这是时区问题,修改时区即可。

 解决方案一:
ini_set('date.timezone','Asia/Shanghai'); //这句必须放在文件首行
 //或者
 date_default_timezone_set('Asia/Shanghai'); //这句可以放在任何地方
Copy after login

 解决方案二:
 直接修改PHP.ini文件
data.timezone = 'Asia/Shanghai';
Copy after login

【②上传问题】

 很多时候,上传比较大的文件的时候,你就会发现,提示上传超过限制之类的提示
 怎么解决?
 上传大文件主要涉及配置upload_max_filesize和post_max_size两个选项
 找到PHP.ini 文件:

 upload_max_filesize = 1024M
 post_max_size = 1024M
Copy after login

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

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

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

【③页面执行超时问题】

 
 有时候页面数据量比较大,短时间执行不完,就会出现超时现象
 怎么解决?
 方式一:
 设置php.ini 文件

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

方式二:
 在程序中修改
 //修改最大执行时间
ini_set("max_execution_time", 2400); // s 2400秒 
Copy after login

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

 
 关于防止sql注入、表单恶意提交,引入魔术引号,如何开启关闭呢
 怎么解决?
 方式一:
 设置php.ini

 magic_quotes_gpc = Off/on ;
 magic_quotes_runtime = Off/on ;
 magic_quotes_sybase = Off/on ;
Copy after login
方式二:
 每个程序的头文件处加入:

 <?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);
	}
  ?> 
Copy after login

【⑤安装扩展程序】

 
 我们以调试工具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"
Copy after login
 当然对于不同的插件具体要加入什么,要根据具体情况而定。

【⑥开启扩展程序库】

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

 extension=php_mysql.dll
 extension=php_mysqli.dll
Copy after login





Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template