为什么单行PHP注释会破坏页面?

为什么单行PHP注释会破坏页面?,php,comments,Php,Comments,如果已经回答了,我很抱歉,但是我还没有找到任何关于它的信息。我在服务器上的某个PHP代码块上遇到了问题,最终意识到它不喜欢单行注释。使用此代码,永远不会调用get_all_articles方法 <?php $article_class = new Articles(); // Fetch all articles $articles = $article_class->get_all_articles(); ?> 但是,删除注释或将其转换为块注释

如果已经回答了,我很抱歉,但是我还没有找到任何关于它的信息。我在服务器上的某个PHP代码块上遇到了问题,最终意识到它不喜欢单行注释。使用此代码,永远不会调用get_all_articles方法

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


但是,删除注释或将其转换为块注释可以使页面完美呈现。我意识到我已经找出了问题的原因,但我要寻找的是为什么或者如何解决它。任何帮助都将不胜感激。谢谢

上传到要删除换行符的位置时,格式可能会丢失?上传PHP文件后,尝试下载该文件,看看换行符是否仍然完整。

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

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

最终,我得出结论:

if(false);
{
   echo("This should never happen");
   echo("but it does!!!!!!!");
}
在大量脱发后,我意识到在if()行的末尾有一个分号,因此转换为:

if(false) 
   /*do nothing*/;

{
   //Nice block that always executes
}
这个故事的寓意是,虽然你所感知的问题实际上给了你一个问题,但它不是一个PHP问题。首先验证正在执行的实际代码是否与您键入的代码完全一致,以找出根本原因。重新下载文件,使用不同的协议发布,以二进制方式发布,检查文件上的sha1sum()以确保相同。。。看啊看,你会发现的


让我们知道。

这是不可能的。阅读错误日志,很好的答案。这似乎是问题所在。有没有关于如何在上传时保留格式的想法?@JimD:如果使用FTP上传,请禁用二进制模式。你在用Mac电脑吗?(因为较旧的\r linebreak无法在Linux/Unix服务器上工作。)谢谢@mario,成功了!传输类型设置为自动,扩展名.php位于ASCII列表中。删除它可以正确上传文件。谢谢gahooa!你说得对,它的执行格式与我键入的格式不同。我实际上丢失了上传的所有格式,因此它将PHP块的其余部分视为注释。有趣。
if(false) 
   /*do nothing*/;

{
   //Nice block that always executes
}