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で読み込まないようになっている。。。


発生した時の環境はこんなかんじだった。


とりあえずシンボリックリンクを貼ることでソースを読み込めるようにしたけど、根本的な解決になってない。
どうしたものか。。。

ミドルウェアの過去のバージョン

しばらく忙しくて更新してる余裕とかがなかった・・・


いろいろ作業をしていて、phpなりapacheなり、特定のバージョンが必要になる事が結構ある。
最新のバージョンはすぐ見つかるけど、mysqlとかはなかなか見つかり辛かったりするんで、
よく使うと思われるミドルウェアについてメモ。

CentOS6.4上でnode.jsを使ってゆっくりボイスをしゃべらせるまで

ゆっくりと言えばニコニコでよく聞くアレ。
windowsだとSoftalkMacならゆっくろいどを使うとゆっくりボイスを喋らせることができる。
調べてみると、mac上でnode.jsを使ってコマンドラインから喋らせるのはすでにやっている人がいた。

2つ目の記事にあるみたいに、色々と喋らせられるようになったら面白そうなので、試してみた。
実際にボイスが再生されるまでにいろいろあったので、その記録として。

続きを読む

リダイレクトに失敗した

いろいろテストしてて、リダイレクトでファイルを出力しようとしたら権限がないって言われてしまった。
調べてみたら解決方法は2つあるみたい。

「sudo sh -c "コマンド > 出力ファイル"」とするか、「コマンド | sudo tee 出力ファイル」とすれば大丈夫そう。
前者の場合はコマンドの中にクォーテーションが含まれてるとめんどくさそうかな。
後者で標準出力には結果を出さなくていい場合は単純に「 > /dev/null」のリダイレクトで。

vi/vimでの文字コードや改行コードの保存

前に書いた記事でやった改行コードの変換や文字コードの変換に短縮形があったのでメモ。

改行コードの変換は「:set ff=hogehoge」、文字コードの変換は「:set fenc=piyo」でできるみたい。

「^M」が行末に表示される

一個前で書いた「\ No newline at end of file」以外に、これもちょくちょく出てくるからメモ。

ファイルの改行フォーマットが異なるために出るらしい。
CR+LFとLFみたいな。

これが出てうざったい時は

  1. :set fileformat=unix

を実行したあと保存すればおk。

^Mが出る状態のファイルフォーマットは「fileformat=dos」らしい。