【问题标题】:How to debug the php syntax error when it is in a html file?如何调试 html 文件中的 php 语法错误?
【发布时间】:2015-01-19 05:18:44
【问题描述】:
<?php
        if($val['shift_z']==1){
          $arr=$val['shift_zone'];
          if(count($arr)>=1&&is_array($arr)){
?> 
//html code
//html code
//html code
//html code
//html code
<?php
          }
        }
?>   

像上面的代码一样,如果我错过了&lt;?php }} ?&gt;,它会告诉我:最后一行未解析$。我不知道“缺少}”行号。 我安装了 sublimeLinter 但我不确定如何配置它以显示此错误,在 vim 中,我还使用了不显示任何错误的 syntastic 插件。 我也使用 zendstudio 打开这个文件它仍然无法告诉我错误是哪一行。 最后,我必须检查每个 {} 来调试错误,但这太慢了。

【问题讨论】:

  • 请粘贴错误信息
  • 如果你错过了&lt;?php }} ?&gt;,解释器会偶然发现文件的结尾......知道我们在一个块中并且仍然希望遇到块的结尾。没有方块结局。您希望在错误消息中看到的确切行号是什么?错误发生在文件的最后。
  • 你只是没有意义。哪个什么?哪条线?最后一个!
  • 是的,错误信息只显示最后的行号,我想知道应该在哪里添加}。
  • 在文件的最后,哦!

标签: php vim sublimetext3


【解决方案1】:

要在屏幕上显示所有 php 错误和通知警报,请将以下行放在 PHP 文件的顶部:

error_reporting(E_ALL);
ini_set("display_errors", 1);

【讨论】:

    【解决方案2】:

    php 报错的问题是它在 ?&gt; and &lt;? - 它只计算实际 php 代码的行数。

    试试这个:

    http://www.piliapp.com/php-syntax-check/

    它甚至在缺少的括号后面标记了一行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-22
      • 1970-01-01
      • 2019-01-29
      • 2011-07-03
      • 1970-01-01
      • 2019-05-22
      • 2015-08-15
      • 1970-01-01
      相关资源
      最近更新 更多