2

ZENDで仮想サーバーを起動して実行するのに問題があります。インストーラーに従い、C:/ドライブにプロジェクトをセットアップしました。ただし、ブラウザはサイトを取得しません。

次の行のコメントを解除するようにappache構成ファイルを変更しました。

#仮想ホスト

 Include conf/extra/httpd-vhosts.conf

zend Webサイトに含まれているクイックスタート情報に基づいて、vhosts.confファイルを次のコードに変更しました。プロジェクトフォルダはC:\ zendProject \ quickstart\publicにあります

<VirtualHost *:8080>
    ServerName local
    DocumentRoot /zendProject/quickstart/public

    SetEnv APPLICATION_ENV "development"

    <Directory /zendProject/quickstart/public>
       DirectoryIndex index.php
       AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>

    </VirtualHost>

次に、hostsファイルを次の行で読み取るように変更しました。

127.0.0.1ローカルホスト

127.0.0.1ローカル

:: 1 localhost

次に、vistaサービスマネージャーを使用してappacheサーバーを再起動しました。ZENDコントロールパネルの基本的なWebページを確認しましたが、これは機能しているため、サーバーは確実に動作していますが、ブラウザーがローカルに接続できないというメッセージが表示されます。

誰かが私が間違っていることを知っていますか?

エラーログを調べたところ、次のエントリが見つかりました。これが役立つかどうかはわかりません[Sun Aug 19 12:05:38 2012] [warn] NameVirtualHost *:8080にはVirtualHostsがありません

4

3 に答える 3

1

vhostで必要なポートをほぼ使用できますが NameVirtualHost *:80、vhostドキュメントのどこかに次のような行があることを確認してください。この行は、apacheがルーティングのために調べるポートを指定します。ほとんどの構築済みサーバー(WAMP、Xampp、Zend Server)にはhttpd-vhosts.conf、通常この行を含むテンプレートが付属しています。時々それはまだコメントされています、どちらの方法でもそれがそこにあり、コメントされていないことを確認し、あなたが使用したいポートを反映していることを確認してください。

また、vhostでZend Framework MVCプロジェクトを使用している場合は、FollowSymlinksを使用します。

動作するhttpd-vhosts.confの完全な例を次に示します。

#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at 
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
    DocumentRoot "C:\Zend\Apache2/htdocs"
    ServerName localhost
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot "E:\www\home-local\public"
    ServerName home.local
    ErrorLog "E:\www\home-local\logs\error.log"
    <Directory "E:\www\home-local" >
        Options Indexes FollowSymLinks
        AllowOverride all
        Order deny,allow
        Allow from all
    </Directory>   
</VirtualHost>

これは、私の開発環境用に変更されたhttpd-vhosts.confが提供するZendServerCEです。

さらにいくつかのメモ。

  • ローカルホストを使用する場合は、必ずそれをvhostsファイルに追加し、最初のvhostにします。
  • サイトをホストするディレクトリが複数ある場合は、vhostにディレクトリ定義を配置できます。実際、最上位のディレクトリに厳密なアクセスを適用し、vhostで必要なものだけを緩めると便利です。
  • いつものように、mod_rewriteがコメント解除されていることを確認することを忘れないでください:
    LoadModule rewrite_module modules/mod_rewrite.so
  • httpd.confまたはhttp-vhosts.conf変更を加えた後は、必ずApacheを再起動してください。
于 2012-08-21T10:37:39.453 に答える
0

サーバー上のApache以外でポート80が使用されていない場合は、Apacheに変更<VirtualHost *:8080><VirtualHost *:80>て再起動します。

次に、に移動して仮想ホストにアクセスできるようになります。http://local

8080すでにポート80で何かを実行している場合を除いて、ポートを使用する必要はありません。その場合:8080は、ブラウザでサイトにアクセスするときにホスト名の後にアフターを含める以外に選択肢はありません。

于 2012-08-19T21:14:00.627 に答える
0

まず、ポートを8080に設定し、それを*.80に変更します。

構成は次のようになります。

<VirtualHost *:80>
    ServerName local
    DocumentRoot C:\zendProject\quickstart\public
    SetEnv APPLICATION_ENV "development"
</VirtualHost>

Windowsでは、パスはで始まりC:\/

このスタートアップチュートリアルもご覧ください。

于 2012-08-20T07:51:53.237 に答える