2014-09-02 88 views
4

我是不是在PHP中有經驗,我在使用error_logprint_r註銷大數組時遇到問題。更改log_errors_max_len沒有任何作用

我被告知here要更改php.ini文件的log_errors_max_len,我繼續並做了一個<?php phpinfo(); ?>以查看php.ini文件從哪裏加載。然後我將其更改爲log_errors_max_len = 0,但輸出仍被截斷。

我也在使用Laravel。

任何人有任何想法,爲什麼這是行不通的? (我已經重新啓動apache :)

+0

你能定義大數組嗎? – Daan 2014-09-02 11:52:59

+1

我不確定它有多大,因爲輸出沒有顯示完整的數組。它至少嵌套4層。看到這裏的示例輸出:http://stackoverflow.com/questions/25621252/error-log-message-is-truncated-when-using-print-r – Cotten 2014-09-02 11:55:30

+0

var_dump給你什麼? – Daan 2014-09-02 11:56:34

回答

0

確保像這樣在頁面頂部設置配置。

<?php 
ini_set("log_errors_max_len", 0); 
?> 

另請參閱this question。這可能是你的問題?

1

這裏最主要的是log_errors_max_len在這種情況下似乎很沒用。 PHP手冊指出:

這個長度適用於記錄的錯誤,顯示錯誤,也 $ php_errormsg中,但不顯式調用功能,如 error_log中()

唯一解決辦法我能到目前爲止發現是使用:

error_log("Long error message...", 3, CUSTOM_LOG_FILE); 

error_log()第二個參數允許你重定向我ssage到一個自定義文件。所以,最後一個參數應該是自定義日誌文件的路徑。

這樣,我收到完整的錯誤消息,並且,什麼可能是有人更重要的是,非ASCII字符都清晰可讀的有(不知道不過,可能是我不好,但是當我用標準的日誌中記錄它們文件 - 我得到的東西像\xd0\xbf)。

相關問題