列出所有可能的PHP错误

Sil*_*ght 20 php

有时,在PHP编码时,我们得到解析或语法错误,如下所示:

Parse error: syntax error, unexpected T_ECHO, expecting ',' or ';' in /var/www/example/index.php on line 4
Run Code Online (Sandbox Code Playgroud)

我想知道,如果有一个PHP解释器可以输出的所有可能错误的列表.我搜索过php.net,但找不到这样的东西.我需要这个列表用于学术目的.

joh*_*nes 10

没有没有好办法.甚至为zend_Error()建议的grep也没用.您在问题中显示的那种错误主要是由bison解析器生成器生成的,PHP只是从那里获取它.操作系统报告的错误也会发生类似的事情(比如打开文件时的错误).PHP开发人员无法为这些生成良好的列表,因为错误取决于它运行的操作系统和编译时使用的版本.

对zend_error()和php_Error_docref()的唯一重要事项可以向您展示可能的错误类型的一般概述,但到目前为止并非所有错误消息.


Mar*_*rov 6

我不知道是否存在可能的PHP错误的综合列表,但是关于解析器错误,您应该检查PHP Parser令牌列表

http://php.net/manual/en/tokens.php

这是手册所说的内容:

PHP语言的各个部分由T_SR等类型在内部表示.PHP在解析错误中输出像这样的标识符,例如"Parse error:unexpected T_SR,expecting','或';' 在第10行的script.php中." 你应该知道T_SR意味着什么.对于每个不知道这一点的人,这里有一个包含这些标识符的表,PHP语法和对手册中相应位置的引用.