与Zend Server配置混淆

时间:2011-02-16 10:16:35

标签: php apache zend-framework zend-server

我已经安装了Zend服务器并开发了一个示例应用程序,当我的应用程序URL无法在浏览器中打开时iam感到很惊讶......

这是我的网址,与我的应用程序相关:

的http://本地主机/ APP_NAME /公共/控制器/动作/参数

我收到如下错误:“在此服务器上找不到请求的网址 / app_name / public / controller / action / parameter ”。

当我从here读取快速入门指南时,我了解到我必须在Apache目录的httpd.conf文件中定义一个VirtualHost指令。

但令我惊讶的是,我在httpd.conf文件中找到了以下行:

DocumentRoot "C:\zend\Apache2/htdocs"

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

无法理解该怎么做......

2 个答案:

答案 0 :(得分:4)

首先,您的文档根目录错误。您同时使用正斜杠和反斜杠,访问localhost会将您带到htdoc而不是虚拟主机。

请按照以下步骤创建虚拟主机或使用这些

检查您的设置
  1. 创建虚拟主机
  2.   <VirtualHost *:80>
        ServerName cert.local
        DocumentRoot "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/cert/public"
        <Directory "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/cert/public">
            DirectoryIndex index.php
            AllowOverride All
            Order allow,deny
            Allow from all
        </Directory>
    </VirtualHost>
    
    1. 注册您的操作系统(适用于Windows)

      转到c:\ WINDOWS \ system32 \ drivers \ etc并添加以下行

      127.0.0.1 cert.local

    2. 重启Apache服务器并访问虚拟主机转至http://cert.local/

    3. 如果你想同时访问htdocs和zend,那么你必须创建另一个指向htdocs的虚拟主机。

      以下是虚拟主机的基本知识

      http://httpd.apache.org/docs/2.2/vhosts/

      希望这会有所帮助.. :)

答案 1 :(得分:1)

得到它...在上面链接的快速入门指南中提到的VirtualHost定义中,DocumentRoot和目录被配置到快速入门应用程序,如果文档根目录只被提到默认情况下“htdocs”(不是直到应用程序名称/公共),zend格式的url不起作用。

由于我的htdocs中有很多zend应用程序,因此我必须将DocumentRoot和Directory的路径设置为“htdocs”本身,因为将来每个应用程序都会有所不同。所以我在httpd.conf文件中添加了以下行,以使我的应用程序URL工作。现在我可以在不修改httpd.conf文件的情况下运行任何zend应用程序。

(我还必须告诉客户端在他的httpd.conf文件中添加这些行以测试应用程序:)

<VirtualHost *:80>
<Directory C:\zend\Apache2\htdocs\>
AllowOverride All
Allow from all
</Directory>
</VirtualHost>

希望它有所帮助。