2017-07-10 9 views
7

ライブシステムでのみ発生する問題があります。このシステムはzend2とPHP7で動作します。zend2フレームワークでフレームエラーが発生すると予想される配列

2017-07-10T08:43:50 + 02:00 ERR:フレームX { "コード" の予想配列:0、 "ファイルの問題は、私のwarning.logが次のメッセージでfloddedされることです":" ベンダー/ zendframework/Zendのログ/ SRC /フォーマッタ/ Base.phpという」、 "行":105}

XがIは、これらの多数のエラーの終了時に0と25の間の数であります

2017-07-10T10: { "コード" を書き込むことができません:29:34 + 02:00 ERR 0、 "ファイル": "ベンダー/ zendframework/Zendの-LO別のものを得ますグラム/ SRC /フォーマッタ/ Base.phpという」、 『ライン』:111}

私はこれがどこから来ている見て、適切なスタックトレースが表示されていないと私は私のローカル上の問題をreprocudeすることはできませんdevマシン。

ご協力いただければ幸いです。

編集: このエラーメッセージはPHP7のCレベルから来ていると教えてくれました。誰にも正しいスタックトレースを得る方法がありますか?それとも何が問題なの?

私は

...try{ 
    return (string) $value; 
} catch(\Throwable $e){ 
    file_put_contents('error.txt',var_export($e,true),FILE_APPEND); 
    file_put_contents('value.txt',var_export($value,true),FILE_APPEND); 
    return (string) $value; 
} 

でエラーをキャッチしようとしたが、このエラーがキャッチすることができなかったように思えます。これは、私の同僚の情報が正しいことを示唆しています。

+0

PHPは特定のディレクトリにファイルを書き込むことができませんでしたとき、私はこのエラーを得ました。ログファイルを含むディレクトリはphpのために書き込み可能ですか? – Marcel

+0

はい!プロジェクトのほぼすべてのディレクトリには、すべての権限が可能です(777)。 – MrSmith

+0

ライブシステムで 'xdebug'を有効にしましたか? –

答えて

0

あなたのtry/catchのためのアイデア:

Zend\Stdlib\ErrorHandler::start(E_ALL); 
$return = (string) $value; 
$exception = Zend\Stdlib\ErrorHandler::stop(); 

file_put_contents('error.txt', var_export($exception, true), FILE_APPEND); 
file_put_contents('value.txt', var_export($value, true), FILE_APPEND); 

return $return; 
+0

上記のコードを 'file_put_contents'の周りに少し変更(' if($ exception!== null) ')してみましたが、ファイルは存在しません。私の推測では、PHPのCレベルで「スローされた」ため、このエラーが検出されないということです。 – MrSmith

関連する問題