ほっしーの技術ネタ備忘録

技術ネタの備忘録です。基本的に私が忘れないためのものです。他の人の役にも立つといいなぁ。

続々・PHP のバグ 〜俺の忘れもの編〜


前回の PHP パッチ(&APIフック)でしばらく放置。
特に問題は発生しなかったのでフックの仕掛け方を改良。

# gcc -fPIC -shared -o malloc.so malloc.c
# setenv LD_PRELOAD /full/path/malloc.so
# /usr/local/etc/rc.d/apache22 restart


マシンを再起動するたびにこれをやるのも面倒なので、
/usr/local/etc/rc.d/apache22 に細工を加えます。

 pidfile="${_pidprefix}.pid"
 required_files=/usr/local/etc/apache22/httpd.conf
 
+export LD_PRELOAD=/root/work/malloc_hack/malloc.so
 
 [ -z "$apache22_enable" ]       && apache22_enable="NO"
 [ -z "$apache22_profiles" ]     && apache22_profiles=""


こんな風に環境変数 LD_PRELOAD を定義しておきます。
これで起動時に勝手にフックがかかります。