装机助理重装系统 重装定义系统重装

立即下载

win7 64位系统PHP错误常见的处理方法

时间:2019-03-13 15:14:14来源:装机助理重装系统www.zhuangjizhuli.com作者:由管理员整理分享

   随着互联网的快速的发展,越来越多的用户为了提升自己的能力,不断地学习各种编程语言,但是在学习的过程难免也会遇到一些棘手的问题,这不最近就有win7 64位系统用户在使用PHP时,遇到一些问题,对于这个问题小编就来介绍一下常见的PHP错误级别的解决方法吧。
win7 64位系统PHP错误常见的处理方法
   其实无论是哪种编程语言也好在各种各样的场面会发生错误,PHP也不例外。
PHP的错误,大致可分为3类。
解析错误:PHP文法错误
执行PHP时的错误:PHP执行会被中止(Fatal Error等)
警告?注意:PHP的执行不会被中止(Warning、Notice等)
具体报错级别有E_PARSE,E_ERROR,E_WARNING,E_NOTICE,E_DEPRECATED,E_STRICT。
E_PARSE
E_PARSE是PHP文法错误导致的,一般是少写了;或者少写了}等等。当读取文法错误的PHP文件时,报错而不会被执行。
例如
<?php
echo 'start test php',PHP_EOL;
$a = 1;
if (isset($a) {
    echo '$a is set',PHP_EOL;
}
echo 'end test php',PHP_EOL;
执行结果如下
Parse error: syntax error, unexpected '{' in /path/to/file.php on line 6
E_ERROR
E_ERROR是执行PHP时的致命错误,此类错误是调用没有定义的函数,或者再次定义已经定义的class、函数时发生。
出现E_ERROR,程序会被立即中止。
<?php
echo 'start test php',PHP_EOL;
class zabbix {}
class zabbix {}
echo 'end test php',PHP_EOL;
执行结果的错误如下
Fatal error: Cannot redeclare class zabbix in /path/to/file.php on line 6
E_WARNING
E_WARNING是PHP执行时发生的警告,调用函数时参数的个数不对或者参数的类型不符等等。
E_WARNING不会导致中止PHP的执行,但是此后的PHP执行是不稳定并且不可预测的。
<?php
echo 'start test php',PHP_EOL;
$ret1 = array_reverse();
$ret2 = array_reverse(1);
echo 'end test php',PHP_EOL;
执行结果的错误如下
PHP Warning: array_reverse() expects at least 1 parameter,0 given in /path/to/file.php on line 5
PHP Warning: array_reverse() expects parameter 1 to be array, integer given in /path/to/file.php on line 6
E_NOTICE
E_NOTICE是PHP执行时的警告,但是比E_WARNING轻微,发生此类错误的话PHP是发生通知的同时自动进行补救。
file.php
<?php
echo 'start test php',PHP_EOL;
echo (int)$a,PHP_EOL;
echo ZAB,PHP_EOL;
echo 'end test php',PHP_EOL;
执行结果如下
PHP Notice: Undefined variable: a in /path/to/file.php on line 5
PHP Notice: Use of undefined constant ZAB - assumed 'ZAB' in /path/to/file.php on line 6 ZAB
E_DEPRECATED
E_DEPRECATED是,旧版本PHP支持的文法及函数在现在的版本里非推荐,或者在将来的版本里被废除可能性时出现的错误。
虽然出现警告,废除为止都能正常使用。
file.php
<?php
echo 'start test php',PHP_EOL;
$tags_string = 'one,two,three';
$tags = split(',',$tags_string);
echo 'end test php',PHP_EOL;
执行结果如下
PHP Deprecated: Function split() is deprecated in /path/to/file.php on line 6
E_STRICT
E_STRICT是为了保持互换性,推荐修改代码时发出的通知。是级别最低的一个错误。
file.php
<?php
echo 'start test php',PHP_EOL;
class ZAB {
    public function __construct() {}
    public function ZAB() {}
}
echo 'end test php',PHP_EOL;
执行结果如下
Strict Standards: Redefining already defined constructor for class ZAB in /path/to/file.php on line 7
     以上就是有关于解决常见的php错误的问题了,感兴趣的用户也可以试试哟,希望这个教程对大家有所帮助。

分享到:

相关教程

分享