关于php:与Zend Server Configuration混淆

Confused with Zend Server Configuration

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

这是我的 url,与我的 zend 应用程序相关:

http://localhost/app_name/public/controller/action/parameter

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

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

但令我惊讶的是,我发现我的 httpd.conf 文件中已经存在以下几行:

1
2
3
4
5
6
7
8
DocumentRoot"C:\\zend\\Apache2/htdocs"

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

不知道该怎么办...


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

请按照以下步骤创建虚拟主机或使用这些检查您的设置

  • 创建虚拟主机
  • 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      <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>
  • 注册您的操作系统(适用于 Windows)

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

    127.0.0.1 cert.local

  • 重启 apache 服务器并为了访问虚拟主机去 http://cert.local/

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

    这里是一些关于虚拟主机的基本知识

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

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


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

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

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

    1
    2
    3
    4
    5
    6
    <VirtualHost *:80>
    <Directory C:\\zend\\Apache2\\htdocs\\>
    AllowOverride All
    Allow from all
    </Directory>
    </VirtualHost>

    希望它对某人有所帮助。