私のエラーログを読むと、SQLトレースなどの長いパラメータが例外トレースで切り捨てられていることがわかりました。例外トレースにパラメータの値全体を記録することはできますか?
FR_Model
の.php(204):ここでは例ですFR_Base->クエリ('POS。INSERT INTO ...'、アレイ)
私はせずに、完全なパラメータをエコーする簡単な方法が欲しいです私自身のExceptionサブクラスをロールバックする必要があります。 TIA。
私のエラーログを読むと、SQLトレースなどの長いパラメータが例外トレースで切り捨てられていることがわかりました。例外トレースにパラメータの値全体を記録することはできますか?
FR_Model
の.php(204):ここでは例ですFR_Base->クエリ('POS。INSERT INTO ...'、アレイ)
私はせずに、完全なパラメータをエコーする簡単な方法が欲しいです私自身のExceptionサブクラスをロールバックする必要があります。 TIA。
log_errors_max_len
PHP設定を確認してください。 php.netから:
log_errors_max_len
integer
- 変更:バイト単位でlog_errors
の 最大長を設定しPHP_INI_ALL
。
error_log
ソースに関する情報が追加されました。デフォルトは1024 で、0は最大で の長さをまったく適用できません。この長さはログされたエラー、表示されたエラーに に適用され、$php_errormsg
にも も適用されます。試験に
:(via this Bogus bug)動作しない0に、このサンプルコードでlog_errors_max_len
を変更することが、1024より大きい番号に変更すると、いくつかの効果を有する場合
<?php
error_reporting(E_ALL|E_STRICT);
ini_set('display_errors',0);
ini_set('log_errors',1);
ini_set('log_errors_max_len','0'); //change this value
ini_set('html_errors',0);
function deepTrace($a, $b, $c) {
if ($c < 50) {deepTrace($a, $b, $c+1);} else {throw new Exception('Example exception that together with the trace is over 1024 bytes.');}
}
deepTrace('example','function',0);
?>
、 Zend Optimizer、Zend Debugger、Xdebugなど、PHPの標準動作をオーバーライドしているzend_extension
をロードすることはほぼ間違いありません。
使用中の拡張子を見つけるにはgrep -r zend_extension /etc/php.*
を試してください。コメントアウトされていないマッチする行が見つかると、あなたの犯人がいます。
これを0に設定しても機能しませんでした。多分これは例外ではなくエラーだけに関係しますか? –
上記のより良い例を参照してください。設定値0がまだ動作しない場合は、ほとんどの場合、問題の原因となっているzend_extensionが使用されています。 – rymo
CodeIgniter MVCまたは別のフレームワークでプログラミングしましたか? –
いいえ、独自のカスタムMVCフレームワークを使用しています。 –