【① 时区问题】 PHP 使用日期函数 如: strtotime(2014-01-05);date(Y-m-d H:i,time()); 会出现莫名其妙的会加8小时 或者减八小时 后的结果 那么怎么办? 这是时区问题,修改时区即可。 解决方案一: ini_set(date.timezone,Asia/Shanghai); //这句必须放在
如:
strtotime('2014-01-05'); date('Y-m-d H:i',time());
ini_set('date.timezone','Asia/Shanghai'); //这句必须放在文件首行 //或者 date_default_timezone_set('Asia/Shanghai'); //这句可以放在任何地方
data.timezone = 'Asia/Shanghai';
很多时候,上传比较大的文件的时候,你就会发现,提示上传超过限制之类的提示
怎么解决?
上传大文件主要涉及配置upload_max_filesize和post_max_size两个选项
找到PHP.ini 文件:
upload_max_filesize = 1024M post_max_size = 1024M
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