【PHP】フレームワーク CakePHP 19ホール目【v3.3】 [無断転載禁止]©2ch.net (979レス)
【PHP】フレームワーク CakePHP 19ホール目【v3.3】 [無断転載禁止]©2ch.net http://medaka.5ch.net/test/read.cgi/php/1482547831/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
233: nobodyさん [sage] 2017/10/03(火) 01:09:44.46 ID:??? >>215 まだいるかな? 最後の行、「もう同じ名前のディレクトリがあるよ。例外:レベルはErrorだよ」と書いてある。 でも、@mkdir()だから、通常はこの例外が拾われないように抑止されている。 で、Log:error()の記述式は、例外レベルが[Error]のものを全部書き出す ものなので、この場合だと@が抑制している[レベル:Error]の例外を問答無用で書き出してる。 つまり、ログに出力されたエラーは「拾われてしまっている」のではなく、 「@をつけて拾われないように工夫されているものを無理やり拾っている」状態。 だから「この部分が原因で不具合が出ている」と決めるのはちょいと難しい。 http://medaka.5ch.net/test/read.cgi/php/1482547831/233
234: nobodyさん [sage] 2017/10/03(火) 18:36:55.18 ID:??? >>233 ありがとうございます。 ヒントいただき、無事解決しました。 原因は独自のエラーハンドラの設定でした。 独自エラーハンドラの中で、エラー制御演算子起因のエラーは無視するように 本来は書かなければならなかったのですが、見事に漏れてました。 http://medaka.5ch.net/test/read.cgi/php/1482547831/234
236: 233 [sage] 2017/10/04(水) 01:07:40.27 ID:??? >>235 解決オメ できだけtry-catchとかで書くはずだけど、 catchブロックで捕捉できなかった例外をfinalyで捕るのはPHP5.5以降 じゃないと出来ないからでは? /vendor/cakephp/cakephp/src/Cache/Engine/FileEngine.phpの 384行の前後を挟むように「//@codingStandardsIgnoreStart」って 言い訳じみたコメントが書いてある だったらset_exception_handler()書けば? てな考え方もあるけど、これまたPHP7.xから挙動が変わる で、ここからは、中の人はこう考えたんじゃねーの? な感じの、 [風が吹かなきゃ桶屋は損する]風味の邪推 ---邪推ここから-- RedHat7.xで延長サポート対象になるのはPHP5.4ということなので、CentOs7.xもこれに準拠する で、5.5と5.6はもうすぐPHP本家のメンテがなくなる そして、作成済みか今から作成するスクリプトを最小限のメンテで 運用したい人々はPHP5.4を選ぶだろう だったら、PHP5.4に合わせてエラー制御演算子でしばらく様子を見よう --邪推ここまで-- もしこれがあたってるなら、数ヶ月はこのままだろうね http://medaka.5ch.net/test/read.cgi/php/1482547831/236
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.034s