0

我对使用 PHP 还是很陌生,但这已经困扰了我一段时间。这是我的 test.php

<?PHP

$db = 'str1';
$sql = 'str2';
$cat = $sql . $db
echo $cat
?>

首先,当我运行 php test.php 时,我没有得到任何输出。我现在知道我在这里缺少一个分号或 2。如果 php 告诉我语法错误在哪一行,那就太好了。我能得到的最好的方法是运行 php -l ,这表明根本存在语法错误。但似乎我可以获得更多信息?知道怎么做吗?

4

2 回答 2

3

;在最后 2 行中丢失了,这就是您遇到错误的原因。要查看此错误,请确保error_reporting在您的 PHP 配置中打开

例子

<?PHP
    error_reporting(E_ALL);
    $db = 'str1';
    $sql = 'str2';
    $cat = $sql . $db ;
    echo $cat ;
?>
于 2012-08-18T15:23:23.647 回答
0

PHP 不能告诉你具体的事情,但是它可以告诉你在哪一行有问题。

如果您没有看到此类错误,则可能是您的 error_reporting 隐藏了这些错误。

在您的 PHP ini 中,您可以设置:

  • display_errors1
  • html_errors1
  • error_reportingE_ALL

它会告诉您何时无法正确解析一行,但不会具体告诉您该行有什么问题,例如:

OMFG it's missing a semicolon

话虽这么说,它可以告诉你其他具体的事情,比如:

  • 当文件不存在时
  • 未定义变量时
  • 当一个类不存在时

还有其他事情,但不,上次我检查语法错误时只是报告了这样的错误。

于 2012-08-18T15:23:36.077 回答