[PHP-users 13006] 【phpからのhttpd再起動について】

zomu php-users@php.gr.jp
Wed, 5 Feb 2003 00:48:25 +0900


マツザキと申します。
popen を使用しhttpd のrestart 方法について皆様のご意見を
頂きたく、POSTさせて頂きます。

■仕様(access_logの解析の為無駄なデータ削除を目的としています)
#1. $APACHE_HOME/logs/access_log より必要データのみを抽出し、
     ファイルに追加書き込み。
#2. 書き込み後、 access_log を unlink 関数にて削除。
#3. 削除後、新規 access_log を作成。
---------------------------------------------------

現在、#3. の"新規 access_log を作成"で戸惑っています。

http://selfforum.teamone.de/archiv/2002/12/31249/
上記サイトにて
$fp = popen("/bin/su -c \"/etc/init.d/apache restart\", "w");
というサンプルを見つけたのですがうまくいきません。
その他、
$pp = popen("/usr/local/apache/bin/apachectl restart", "w" );
と記述してみたのですが、この場合access_logは生成されるのですが
ログが書き込まれていない状況です。
httpd の restart もしくは $APACHE_HOME/bin/apachectl restart を
実行すると、 access_log が正常に動き出します。

PHP上から popen を使って/etc/rc.d/initd/httpd を再起動させる事は
可能なのでしょうか。

御教授宜しくお願いします。