解决在window下Wampserver在运行低版本php5.x出现异常的问题
需要提前注意的是需要将wampserver的php版本提前换成低版本
步骤
1、将返回信息打印出来
2、
3、新建一个php文件,查看具体信息
4、由于提前标识了返回的结果是json类型,但是返回的无法转化为json,所以初步估计是因为转换失败引起的。
5、解决session已经存在的问题
Notice: A session had already been started - ignoring session_start() inxxxx
解决方法
1、如果session已经存在那么就不用再建立了,因此在建立session时加上判断语句
2、让提示消息不再提示
在php.ini 中 修改成 session.auto_start = 0 // 0是关闭 1是打开
重新运行,依旧出错
错误信息
对于提示mysql低版本函数错误,如果改了,还有别的错误太过于麻烦,于是
关闭除了致命性错误,不再进行提醒
在php.ini里面修改一行
修改为
将除去 E_NOTICE 之外的所有错误信息
E_NOTICE参数定义引用php官方文档PHP: error_reporting - Manual
<?php
// 关闭所有PHP错误报告
error_reporting(0);
// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// 报告 E_NOTICE也挺好 (报告未初始化的变量
// 或者捕获变量名的错误拼写)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
// 除了 E_NOTICE,报告其他所有错误
error_reporting(E_ALL ^ E_NOTICE);
// 报告所有 PHP 错误 (参见 changelog)
error_reporting(E_ALL);
// 报告所有 PHP 错误
error_reporting(-1);
// 和 error_reporting(E_ALL); 一样
ini_set('error_reporting', E_ALL);
?>
加入php.ini后还出现
初步怀疑力度还不够
查看上面链接的文档
加大力度
发现成功运行
在php官网的方法中,有人写的几个比较有用的办法
1、如果无法修改php.ini,比如没有权限的解决办法
If you just see a blank page instead of an error reporting and you have no server access so you can't edit php configuration files like php.ini try this:
- create a new file in which you include the faulty script:
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
include("file_with_errors.php");
?>
- execute this file instead of the faulty script file
now errors of your faulty script should be reported.
this works fine with me. hope it solves your problem as well!
2、 ^是什么
^是位翻转运算符,是异或
就拿本次(E_ALL ^ E_NOTICE)来说
按照我的理解(与戴夫有偏差)
如果先前E_NOTICE已经打开,那么加上这个符号,由于E_ALL总是有的,如果E_NOTICE出现,他们两个异或为0,那么就不再显示这个错误。对于其他的错误,相当于1^0=1,那么就会显示