memcache.soのバグ?
php利用時、memcache.soを読み込むとincludeの挙動がおかしくなるバグ?のようなものに遭遇した。
ググっても同じようなバグや不具合の記事が引っかからなかったので、整理がてらメモを残す。
症状としては、PHPのinclude時に想定しているものとは異なるパスを読み込もうとする、というもの。
A, B, Cという3つのCakePHPで作成されたページを実行する際、Bのinclude時になぜかAのディレクトリへのパスが実行されたり、
Cのページ実行時のincludeでなぜがBのディレクトリを参照しようとしている、というもの。
include_pathはちゃんとB、CのCakePHP正しい場所を見ているため、「そんなincludeファイル存在しねーぞ(゚Д゚)ゴルァ!!」と怒られる。
memcache.soを読み込まないようにするとエラーが発生しないようになる。。。
似たようなPHPのバグというか不具合に、APCを利用するとWordpressでエラる、というのを聞いたことがある。
APCの場合でもincludeやrequire時に正しいパスで読み込んでくれない、という症状になる。
しかし今回の症状が起きた時、APCはそもそもPHP.iniで読み込まないようになっている。。。
発生した時の環境はこんなかんじだった。
とりあえずシンボリックリンクを貼ることでソースを読み込めるようにしたけど、根本的な解決になってない。
どうしたものか。。。
ミドルウェアの過去のバージョン
リダイレクトに失敗した
いろいろテストしてて、リダイレクトでファイルを出力しようとしたら権限がないって言われてしまった。
調べてみたら解決方法は2つあるみたい。
「sudo sh -c "コマンド > 出力ファイル"」とするか、「コマンド | sudo tee 出力ファイル」とすれば大丈夫そう。
前者の場合はコマンドの中にクォーテーションが含まれてるとめんどくさそうかな。
後者で標準出力には結果を出さなくていい場合は単純に「 > /dev/null」のリダイレクトで。