前回の 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 を定義しておきます。
これで起動時に勝手にフックがかかります。