2009-07-08 10 views
1

オフィスイントラネット(Windows PC上)で本当にシンプルな仮想ホスト管理者を作っています。新しい仮想ホストが作成されたときにPHPからApacheサービスを再起動しようとしています。WindowsでphpからApacheを再起動する

私はそれを行うことはできません。私はapache -k restart、httpd -kシステムで再起動しました。shell_exec、exec passthru;私もバッチファイルを使用して、PHPコマンドからそれを実行しようとしましたが役に立たない。エラーはありません。コマンドは実行されません。

サービスを停止する(ただし再起動しない)唯一の方法は、NET STOP Apache2.2を作成し、バッチファイルを作成することです。

 
@echo off 
NET STOP Apache2.2 
NET START Apache2.2 

も機能しませんでした。

理由は何ですか?私はここでは無知だ。他のコマンドは正常に実行されますが、何らかの理由でphpがApacheサービスを再起動したくありません。

ありがとうございます!

+0

助けてください? http://stackoverflow.com/questions/425717/can-php-restart-apache –

+0

PHP-CLIでこれを試していますか?そうだといい。 –

答えて

1

これをApacheのもとで実行されているスクリプトの内部から試しても、WindowsやLinuxではうまく動作しません。

通常、(どのプラットフォームでも)apacheを実行するユーザーには、Apacheを再起動する権限がありません。そのようにしてください。

Haimが投稿したリンクに記載されているように、サーバーを再起動するには、何らかの外部プロセスまたはスクリプトが必要になることがあります。これを行う1つの方法は、スケジュールされたジョブとしてスクリプトを実行させて、サービスをいつ再起動するかを確認するための制御ファイルをチェックすることです。

私はそれを具体的に行う方法についてもっと詳しく説明しますが、私は窓の専門家ではありません。