1. ホーム
  2. php

[解決済み] XAMPPでバーチャルホストを作成する方法 [重複]。

2023-03-28 03:44:09

質問

私はこの質問が何度も質問されていると確信していますが、私は問題に遭遇していません。私は、Zend frameworkを設定するXAMPPを使用しています。

XAMPPは ポート8081 として 80 は Windows のプロセスによって占有されているため、バーチャルホストを使用する必要があり、次のコードを C:/xampp/apache/config/extra/httpd-vhosts.config (または C:/xampp/apache/conf/extra/httpd-vhosts.conf を使うことができます。)

<VirtualHost *:80>
ServerName comm-app.local
DocumentRoot "C:/xampp/htdocs/CommunicationApp/public"
SetEnv APPLICATION_ENV "development"
    <Directory "C:/xampp/htdocs/CommunicationApp/public"
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>    

で hosts ファイルを更新し、さらに 127.0.0.1 comm-app.local を追加し、apacheを再起動しましたが、エラーが表示されます。

15:03:01  [Apache]  Error: Apache shutdown unexpectedly.
15:03:01  [Apache]  This may be due to a blocked port, missing dependencies, 
15:03:01  [Apache]  improper privileges, a crash, or a shutdown by another method.
15:03:01  [Apache]  Press the Logs button to view error logs and check
15:03:01  [Apache]  the Windows Event Viewer for more clues
15:03:01  [Apache]  If you need more help, copy and post this
15:03:01  [Apache]  entire log window on the forums

どのように解決するのですか?

2つのエラーが表示されます。

<VirtualHost *:80> -> Fix to :8081, your POrt the server runs on
    ServerName comm-app.local
    DocumentRoot "C:/xampp/htdocs/CommunicationApp/public"
    SetEnv APPLICATION_ENV "development"
    <Directory "C:/xampp/htdocs/CommunicationApp/public" -> This is probably why it crashes, missing >
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
 -> MIssing close container: </VirtualHost> 

修正版です。

<VirtualHost *:8081>
    ServerName comm-app.local
    DocumentRoot "C:/xampp/htdocs/CommunicationApp/public"
    SetEnv APPLICATION_ENV "development"
    <Directory "C:/xampp/htdocs/CommunicationApp/public">
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

一つだけ言っておく。

コマンドを実行してみるのはいつでも可能です。

service apache2 configtest

これは、不正な設定をしたときに教えてくれるもので、おそらく問題がどこにあるのかも教えてくれるでしょう。

さらに、ライブシステムでの使用不能を回避するのに役立ちます。

service apache2 restart

はシャットダウンして起動に失敗します。この configtest では事前に "おっと何か間違えた、先にこれを修正すべきだった" がわかりますが、apache 自体はまだ古い設定のまま動いています:)