Xampp で Apache をサービスとして (再) 起動する際の問題

Xampp で Apache をサービスとして (再) 起動する際の問題

こんにちは。httpd.conf
に変更を加えた後、Xampp で Apache をサービスとして再起動したいと思います。まず、Nelson のアドバイスに従ってこれを削除しました。

sc delete apache2.2

xampp コントロール パネルで svc を確認すると、サービスが再起動しているようです。つまり、前述のコマンドでサービスを再度削除できますが、Xampp コントロール パネルでは「停止」(灰色の背景に灰色) と表示されます。「開始」をクリックしても何も変わりませんが、「Apache サービスが開始されました」というメッセージが表示されます。httpd.conf
で DocumentRoot を変更しましたが、Apache は実行されているように見えますが、変更を認識していないようです。少なくとも http://localhost のページは表示されますが、新しい DocumentRoot が参照するページは表示されません。
何が問題なのか、何かお分かりですか?
TIA
Steven

編集
サービス コンソールを使用して Apache を起動しようとすると、「Windows はローカル コンピュータ、patatee、patata で Apache2.2 を起動できませんでした...」というエラーが表示されます。エラー ログにはイベント 3299 が記録されています。

答え1

「sc delete」は Windows サービスを削除します。つまり、サービスは存在しなくなり、開始、停止などできなくなります。Apache を再インストールするか、sc コマンドを使用してサービスを再作成するまで、サービスは再作成されません。コマンド ラインからサービスを再起動する正しい方法は次のとおりです。

net stop apache2.2
net start apache2.2

(残念ながら、「ネット再起動」オプションはありません)。

「net start apache2.2」を使用すると、エラーが返されますか? 「サービス名が無効です。」というエラーが表示された場合は、サービスを再作成する必要があります。これをすぐに行う方法はわかりませんが、簡単なはずです。

JR

サービス固有のエラーが発生しました: 1

これは、Apache サービスがインストールされているが、Apache 自体が起動時にエラーを報告していることを示しています。おそらく、設定ファイルに問題がある可能性があります。通常の方法は、Apache をアプリケーションとして実行して、生成されるエラー メッセージを確認することです。http://httpd.apache.org/docs/2.2/platform/windows.html#winconsApache をアプリケーションとして実行する方法に関する情報。

答え2

私は XAMPP のコントロール パネルを使用したことはありません。しかし、最後に XAMPP を使用したときに、Apache を再起動する最も簡単な方法は、Windows の通常のサービス コンソールを使用することだとわかりました。

答え3

これは質問に直接答えるものではないことは承知していますが、apache/php/perl/mysql を手動でインストールすることをお勧めします。これにより、次のことが可能になります。

  • これらのコンポーネントがどのようにリンクされているかを理解する
  • 必要に応じてコンポーネントのバージョンを変更します(プロジェクトによっては異なるバージョンが必要になる場合があります)
  • これらのコンポーネントをコンソールで起動します。これにより、デバッグと制御が容易になります。
  • 異なるプロジェクトごとに複数のインストールを用意することができます。この方法により、他のプロジェクトに影響を与えることなく、インストールを破棄して再構築することが簡単になります。

XAMPP のようなツールは、インストールをすぐに行えるので便利ですが、欠点がないわけではありません。統合の約束は魅力的ですが、ほとんどの場合、手作業で行う必要があり、より強力なアプローチです。

Windows サービスに手を加える必要がある場合は、この優れた無料ツール、Windows Service Commander をお勧めします。

答え4

Apache 実行可能ファイルを介して Apache サービスを直接再起動することもできます。また、-k reload/restart オプションもあります。

apache2.exe -k 再起動 -n "apacheサービス名"

ちゃんと覚えたら。

関連情報