假设我有一些代码:
<?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页面,这很好用,但它并没有告诉我代码中有什么错误。
由于
答案 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