在线 PHP 语法检查器/验证器。

21

请问有没有在线的PHP代码验证工具?这将非常有帮助。

提前致谢!


你想要什么类型的验证 - Pascal MARTIN
我想要一个能够找到我的PHP脚本中的错误,显示错误所在的行号,并可能解释错误的工具。 - Web_Designer
3
也许你可以写你自己的代码?只需要使用 php -l [文件名] 来解析 PHP 文件,而不是执行它。 - Jacob
3
为什么要使用在线验证器而不是像NetBeans或ZendStudio这样的IDE?我认为一个真正好奇的Web开发者会使用桌面验证器而不是在线验证器,我不相信后者更可靠... - amateur barista
@Jacob,你能详细解释一下你刚才说的吗? - Web_Designer
显示剩余2条评论
8个回答

33

进一步扩展我的评论。

您可以使用命令行验证,使用php -l [文件名],它只会进行语法检查(lint)。这将取决于您的php.ini错误设置,因此您可以编辑php.ini或在脚本中设置error_reporting。

以下是在包含以下内容的文件上运行时的输出示例:

<?php
echo no quotes or semicolon

结果是:

PHP Parse error:  syntax error, unexpected T_STRING, expecting ',' or ';' in badfile.php on line 2

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in badfile.php on line 2

Errors parsing badfile.php

我建议你创建自己的验证器。

一个简单的页面,允许你上传php文件。它会对上传的文件进行php -l检查,并输出结果。

注意:这不是安全风险,它不会执行文件,只是检查语法错误。

以下是创建自己验证器的基本示例:

<?php
if (isset($_FILES['file'])) {
    echo '<pre>';
    passthru('php -l '.$_FILES['file']['tmp_name']);
    echo '</pre>';
}
?>
<form action="" method="post" enctype="multipart/form-data">
    <input type="file" name="file"/>
    <input type="submit"/>
</form>

是否存在安全风险取决于文件上传的位置。 - Manish Burman
如果您的$PATH变量中没有php,您可以cd到存在php.exe的目录并调用php.exe -l C:\path\to\file.php - Kellen Stuart

7

5
这里还有一个工具可以为您执行php -l检查,并对一些不被视为无效的错误(例如使用双等号声明变量)进行二次分析。请访问http://phpcodechecker.com/

当文件过大时,会抛出“错误414 URI过长”的异常。 - Amir Hajiha

4

有哪些验证 PHP 代码的方法?第一个链接已失效。 - Mike Casan Ballester

1

1

已经有Mario Lurig的回答涵盖了此问题。 - faintsignal

0
如果你有兴趣的话,有一个离线检查器可以进行复杂类型分析: http://strongphp.org 但是它不是在线的。

0
这里还有一个好的简单网站,可以检查您的 PHP 代码并与朋友分享您的代码:

http://trycodeonline.com


3
不存在了 - StarsSky
请尝试使用http://phpsyntaxchecker.com。 - Arvind
尝试使用 php online 工具。此工具可让您检查您的 php 代码、执行并与朋友共享您的代码。 - overals

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接