2011-08-29 17 views
3

我很抱歉,如果這已被回答,但我一直無法找到任何有關它。我在我的服務器上遇到了一些PHP代碼的問題,並最終意識到它不喜歡單行註釋。通過這段代碼,get_all_articles方法永遠不會被調用。爲什麼單行PHP註釋中斷頁面?

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

但是,刪除註釋或將其轉換爲塊註釋允許頁面完美呈現。我意識到我已經知道是什麼導致了這個問題,但是我正在尋找的是爲什麼或者我該如何解決這個問題。任何幫助將不勝感激。謝謝!

+0

這是不可能的。閱讀錯誤日誌 – zerkms

回答

7

也許格式化會在上傳到正在刪除換行符的地方丟失?嘗試在上傳PHP文件之後下載並查看換行符是否完整。

+0

啊,很好的答案。這似乎是問題。關於如何保留上傳格式的任何想法? –

+1

@JimD:如果使用FTP上傳,則禁用BINARY模式。你有沒有機會使用Mac? (因爲較舊的\ r linebreak在Linux/Unix服務器上不起作用。) – mario

+0

謝謝@mario,那就是訣竅!傳輸類型設置爲auto,並且.php擴展名位於ASCII列表中。刪除它可以使文件正確上傳。 –

1

這可以令人沮喪......有一次,我有一個if語句總是執行,不管是什麼值分別爲...

開始了作爲此,其中$ x爲等於5(我驗證了這個調試)

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

最後,我不得不下來到這一點:

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

的頭髮太大的損失後,我意識到,我有一個分號在當年底( )線,因此翻譯成:

if(false) 
    /*do nothing*/; 

{ 
    //Nice block that always executes 
} 

這個故事的寓意是,當你percieve問題實際上是給你一個問題,它不是一個PHP的問題。通過首先驗證正在執行的實際代碼是否是您輸入的內容,嘗試找出根本原因。重新下載文件,以不同的協議發佈,以二進制形式發佈,在文件上檢查sha1sum()以確保相同...看起來並且你會發現它。

讓我們知道。

+0

謝謝gahooa!你是對的,它不是以我輸入的相同格式執行的。我實際上已經丟失了上傳的所有格式,因此它將該塊的其餘部分視爲評論。有趣。 –

相關問題