2024/11 | ||||||
---|---|---|---|---|---|---|
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
2024/12 | ||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 |
a person powered by ototoy blog
モヘンジョだろ!!PHP5でtry〜catchを使えるようになったのはいいんだけど、exceptionをいちいち定義するのがめんどくさくてエラーネストが深くならない限り使わなくなってて、いざエラーネストが深くなっても可能な限り避けるように避けるように頭が働く旧世代人間の俺。
そんなときに思いついた回避策。もしかしたら昔からの定石なのかもしれないけど、do{}while(FALSE);を使うと、どんな文脈でもbreak;で一気にdoスコープ外に抜けられるよ!ってやつ。
何年か前にも(しかも数年置きに何回か)同じ回避策を思いついたような記憶があるけど、まあ、今回は記憶強化のためにメモっておくぞと。
GDを使ってTrueTypeの文字をレンダリングしまくるようなスクリプトをAPC付きのPHP-5.2.0で走らせると、2回目以降エラーログなどいっさい残さずにSignal 11で落ちるという謎の症状に悩んでいたのだが、単なるメモり不足が原因っぽい。php.iniでmemory_limitを増やしたら再発しなくなった。というメモ。
...と思ってたら、再発したorz
APCを切ると100%直るから、APC絡みでなんかおかしくなってるんだろうけど。なんだろか。XCacheでも試してみようかなぁ。
で、XCache
http://trac
を試してみたら、全く問題無くなった。うーむ。
unstableバージョンを使わないと5.2.0にフル対応じゃないらしくて、その辺がちょっと不安。
コメント