検討!目論見検討委員会

最近はコミケの締切情報メイン

PHPではまった3つの罠

発端

  • ラジオ番組のタイムテーブルを作るのが面倒だったんですよ
  • (かけつけ一杯)とりあえずphpで(作るか)
  • どうしてこうなった(イマココ)

1. memcachedにでかいArrayをserializeして突っ込んだらphpが止まる

結論
  • データ容量オーバーでした
傾向と対策
  • でかいArrayを生成するのに数分かかっていたのでmemcachedに突っ込む方針が仇となる
    • なぜファイルにしなかったのか悔やまれる
  • php側でエラー拾えないのかしら
  • memcached-toolで本当にデータ入ってる?と見つつやるのがよさそう

2. ブラウザからphpファイルにアクセスしたら結果が途中で止まる

結論
  • memory_limitに引っかかっていた
傾向と対策

3. ブラウザからphpファイルにアクセスしたら結果が途中で止まる

結論
  • max_execution_timeに引っかかってた
傾向と対策

結論

  • memory_limit上限引っかかるのは、phpのバッチでよく引っかかったなぁと思い出しました(遠い目
  • ログは重要
    • phpの確保しているメモリが足りないよとかmemcachedサイズオーバーだよってどこでどうやって取得するんですかね
      • メモリをあとこれだけ確保しようとしたけど確保できなかったエラーなら某所でみたことあるけど
  • 開発環境と本番環境で切り分けられると良いですね(白目

結論の結論

  • メモリ、実行時間ともに、サーバに優しくエコなプログラミングをしましょう
  • bashサイコー Σ