【问题标题】:Why Do Single Line PHP Comments Break Page?为什么单行 PHP 注释会断页?
【发布时间】:2011-08-29 12:42:05
【问题描述】:

如果此问题已得到解答,我深表歉意,但我无法找到任何相关信息。我的服务器上的某个 PHP 代码块一直有问题,最终意识到它不喜欢单行 cmets。使用此代码,永远不会调用 get_all_articles 方法。

<?php 
    $article_class = new Articles();
    // Fetch all articles
    $articles = $article_class->get_all_articles();
?>

但是,删除评论或将其转换为块评论可以让页面完美呈现。我意识到我已经找出了导致问题的原因,但我正在寻找的是为什么或如何能够解决它。任何帮助将不胜感激。谢谢!

【问题讨论】:

  • 不可能。读取错误日志

标签: php comments


【解决方案1】:

也许格式在上传到删除换行符的位置时丢失了?上传后尝试下载PHP文件,看看换行符是否完好。

【讨论】:

  • 啊,很好的答案。这似乎是个问题。关于如何在上传时保留格式的任何想法?
  • @JimD:如果使用 FTP 上传,则禁用 BINARY 模式。您是否有机会使用Mac? (因为旧的 \r 换行符不适用于 Linux/Unix 服务器。)
  • 谢谢@mario,成功了!传输类型设置为自动,.php 扩展名在 ASCII 列表中。删除它可以让文件正确上传。
【解决方案2】:

这可能令人沮丧...有一次我有一个 if 语句总是会执行,无论值是什么...

一开始是这样的,其中 $x 等于 5(我通过调试验证了这一点)

if($x > 10);
{
    ....
}

最终,我把它归结为:

if(false);
{
   echo("This should never happen");
   echo("but it does!!!!!!!");
}

在大量脱发后,我意识到我在 if() 行的末尾有一个分号,因此翻译成:

if(false) 
   /*do nothing*/;

{
   //Nice block that always executes
}

这个故事的寓意是,虽然您所感知的问题实际上是给 带来了问题,但这不是 PHP 问题。尝试通过首先验证正在执行的实际代码与您键入的内容完全相同来找出根本原因。重新下载文件,使用不同的协议发布,发布为二进制文件,检查文件上的 sha1sum() 以确保相同......看看再看看,你会找到它。

让我们知道。

【讨论】:

  • 感谢 gahooa!你是对的,它没有以我输入的相同格式执行。我实际上已经丢失了上传的所有格式,因此它将 PHP 块的其余部分视为注释。很有趣。
猜你喜欢
  • 2015-02-10
  • 2013-10-05
  • 1970-01-01
  • 1970-01-01
  • 2013-08-29
  • 1970-01-01
  • 2014-12-21
  • 2016-03-08
  • 1970-01-01
相关资源
最近更新 更多