2011-03-31 396 views
13

我想用print_r做一些基本的調試。如何停止或暫停php執行?

當PHP點擊那條線時,我希望它停止或結束任何人通常做的事情,所以我可以看到輸出。

回答

13
// if you want a one liner: 
die(print_r($stuff, true)); 

你真的要享受proper debugger雖然

+0

我已經安裝了它,它似乎比它的價值更麻煩。 – chobo 2011-03-31 22:04:47

+0

你的意思是XDebug或Netbeans?您可以嘗試Eclipse。 – meouw 2011-04-01 05:49:34

+0

你有另一個殺手選項,稱爲phpStorm。它不是免費的,但相信我值得每一分錢。 – Genzo 2017-10-31 12:26:50

6

對於PHP停止執行,你必須例如dieexit

對於高級調試,請使用諸如XDebug之類的工具。

或者睡眠:sleep(30);延遲30秒。

+0

當心與你最好的睡眠功能只傳遞整數,因爲它會忽略小數部分。 – Genzo 2017-10-31 12:31:12

1
die("Script Stopped"); 

這將結束的代碼執行和呼應你的報價之間把消息 - 這可能是你需要調試字符串或整數,在調​​試的時候我用它經常。半分功能很好,把var_dumps放到你的代碼的中間,把死留在最後,找出哪一半出了問題,把它分成兩半,等等,直到你能夠從邏輯上猜測出錯的地方,開始調試語法/等。

3

這裏:

print_r($whatever);  
exit(); 
0

我想保持它在家庭中,一個文件....

if (@$_GET['thispic']){ 
    dizzy($_GET['thispic']); 
    exit; 
    } 


    function dizzy($thispic){ 
    $PSize = filesize($thispic); 
    $mysqlPicture = fread(fopen($thispic, "r"), $PSize) ; 
    ///add file type checking here 
    Header("Content-type: image/jpg") ; 
    echo $mysqlPicture; 
    } 


    $Picture = "images/brand.jpg"; 
    echo "<img src = \"test.php?thispic=$Picture \" height = \"300\">"; 

我使用類似的腳本來處理數據庫中的縮略圖。 ,以避免base64解碼,從而節省加載時間。

聯繫人:[email protected]