所有可能的 PHP 错误的列表

php
2022-08-30 19:16:29

有时,在PHP中编码时,我们会遇到解析或语法错误,例如:

Parse error: syntax error, unexpected T_ECHO, expecting ',' or ';' in /var/www/example/index.php on line 4

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


答案 1

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

zend_error() 和 php_Error_docref() 的唯一 grepping 可以向你展示的是可能的错误类型的一般概述,但到目前为止并不是所有的错误消息。


答案 2

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

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

这是手册所说的:

PHP语言的各个部分在内部由诸如T_SR.PHP输出标识符之类的类型表示,例如解析错误中的“解析错误:意外T_SR,在脚本中期望','或';'.php在第10行。你应该知道T_SR是什么意思。对于每个不知道这一点的人,这里有一个表格,其中包含这些标识符,PHP语法和对手册中适当位置的引用。


推荐