php编辑器/编译器/无论在我的代码中显示错误

时间:2010-09-10 09:57:31

标签: php editor

假设我有一些代码:

  <?php
  echo "Hello Everybody!";
  echo "<br/>" ;
  $var1 = 23 ;  
  var_dump($var1)   ;

  $str = <<<HERE

  some random text
  more random strings

  HERE;

  echo $str ;
?>

现在在localhost上将其作为index.php运行,会显示一个空白页面。这可能是因为代码中存在一些错误。现在有什么东西(编辑器,编译器,无论什么)会告诉我确切的错误在哪里和什么?

目前我使用其中一个便携式服务器(XAMP,netserver,uniserver)来运行我的php页面,这很好用,但它并没有告诉我代码中有什么错误。

由于

6 个答案:

答案 0 :(得分:2)

您应该使用的工具是PHP。

确保error_reporting设置为高,例如E_STRICT

  

在PHP 5中,可以使用新的错误级别E_STRICT。由于E_STRICT中未包含E_ALL,您必须明确启用此类错误级别。在开发期间启用E_STRICT有一些好处。 STRICT消息将帮助您使用最新且最好的建议编码方法,例如警告您使用已弃用的函数。

答案 1 :(得分:0)

我会让其他人回答编辑的问题。我将回答代码中的错误部分:

  HERE;

HERE;

heredoc结束时不应有前导空格。从手册:

  

结束标识符必须从该行的第一列开始。此外,标识符必须遵循与PHP中任何其他标签相同的命名规则:它必须仅包含字母数字字符和下划线,并且必须以非数字字符或下划线开头。

答案 2 :(得分:0)

检查您的php.ini以查看是否已关闭error_reporting

答案 3 :(得分:0)

许多IDE都提供此功能 - 在某种程度上可以想到NetBeans,Dreamweaver CS5。

它们将突出显示明显的语法错误,例如缺少分号/不平衡的支撑。

但请记住,如果编译器可以识别每个错误,那么他们也可以修复它们。不知道会有助于修复糟糕的编程逻辑等。

同样如下面的答案所示,error_reporting可以关闭,因此应该开启以进行开发。

答案 4 :(得分:0)

制作新页面,将其命名为index.php

error_reporting(E_ALL);
ini_set("display_errors", 1);
include('content.php');

content.php应该是您的代码所在的页面,

现在它会显示你的错误! 另外我的问题我几天前注意到你在tmp服务器上工作。

答案 5 :(得分:0)

仅供参考,如果您只想进行快速语法检查,请使用带有php二进制文件的-l开关。

php -l myscript.php