php - 在 wamp 2.5 上安装 zend Framework 2 时出现问题

标签 php powershell zend-framework wampserver

因此,因为我不知道出了什么问题,所以我向您提供有关我之前所做的事情以及所有决定因素的完整信息。 (问题已在底部指出)

  1. wamp 已安装。我的本地主机路径是:

     F:\Program Files\wamp\www
    

    所以空间可能会导致某个地方失败。

  2. 从 GitHub 下载 SendSkeletonApplication(因为 Tut. 告诉我这样做)并将其解压到我创建的文件夹 zf2 中。所以它的一切都在:

      F:\Program Files\wamp\www\zf2
    

    现在我将其提取到这里是公共(public)文件夹的路径:

       F:\Program Files\wamp\www\zf2\public
    
  3. 从以下位置下载 Composer-Setup.exe:

       https://getcomposer.org/download/
    
  4. 在 php.ini 中启用 php_openssl.dll,因此以下行(不带分号):

      extension=php_openssl.dll
    
  5. 打开 Windows PowerShell 并执行以下操作:

    going to this directory:
    PS F:\Program Files\wamp\www\zf2> composer self-update
    PS F:\Program Files\wamp\www\zf2> composer install
    

    两者都有效,所以我检查了 php -v:

    PS F:\Program Files\wamp\www\zf2> php -v
    PHP 5.5.12 (cli) (built: Apr 30 2014 11:20:58) 
    Copyright (c) 1997-2014 The PHP Group
    Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
            with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans
    
  6. 现在由于不同的图坦卡蒙而变得困惑。我做了以下事情:

    Open Windows System -> Advanced system settings -> Environmental Variables -> System variables -> Path -> Edit
    Edit the php5.5.15 and zf2 (Composer was already there):
    ;F:\Program Files\wamp\bin\php\php5.5.12;C:\ProgramData\ComposerSetup\bin;F:\Program Files\wamp\www\zf2
    
  7. 打开并编辑:

     F:\Program Files\wamp\bin\apache\apache2.4.9\conf\httpd.conf
     uncomment: Include conf/extra/httpd-vhosts.conf
     so the line now looks like (without #):
     Include conf/extra/httpd-vhosts.conf
    
  8. 嗯,我遵循了一个教程,但它不起作用,所以我按照不正确的顺序进行了以下思考:

    Editing following things to 
    F:\Program Files\wamp\bin\apache\apache2.4.9\conf\httpd.conf
    and also to
    F:\Program Files\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf
    
    
    <VirtualHost *:80>
    ServerName dev.zf2.com
    DocumentRoot "F:\Program Files\wamp\www\zf2\public"
    SetEnv APPLICATION_ENV "development"
    <Directory "F:\Program Files\wamp\www\zf2\public">
    DirectoryIndex index.php
    AllowOverride All
    Order allow,deny
    Allow from all
    Order Allow,Deny
    Allow from all
    </IfModule>
    </Directory>
    </VirtualHost>
    
    <VirtualHost *:80>
    ServerName localhost
    DocumentRoot "F:\Program Files\wamp\www"
    SetEnv APPLICATION_ENV "development"
    <Directory "F:\Program Files\wamp\www">
    DirectoryIndex index.php
    AllowOverride All
    Order allow,deny
    Allow from all
    </Directory>
    </VirtualHost>
    
  9. 转到 C:\Windows\System32\drivers\etc\hosts 并添加以下代码:

     127.0.0.1  dev.zf2.com
    

现在,如果我要访问 dev.zf2.com,我会访问 wamp 的本地主机,因此没有骨架应用程序。我尝试打开zf2中的public文件夹,因为有一个index.php:

 http://localhost/zf2/public

但它说:内部服务器错误。

那么到底出了什么问题呢?我安装对了吗?

另外,为什么 zf2 中没有库?

开始使用 zend 的下一步是什么?

最佳答案

我从未使用过 wamp,但是,对于第 8 步,您的虚拟主机可能希望看起来更像这样:

<VirtualHost *:80>
    ServerName dev.zf2.com
    DocumentRoot "F:\Program Files\wamp\www\zf2\public"
    SetEnv APPLICATION_ENV "development"
    <Directory "F:\Program Files\wamp\www\zf2\public">
        DirectoryIndex index.php
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot "F:\Program Files\wamp\www"
    <Directory "F:\Program Files\wamp\www">
        DirectoryIndex index.php
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

您不需要在 httpd.conf 中使用它们和httpd-vhosts.conf (尽管这不太可能导致问题)。只需选择其中之一即可避免混淆。

你有一个随机的</IfModule>在您的示例中,以及 Order allow,deny Apache 2.4 中的内容发生了一些变化(您似乎正在使用它 - 您所遵循的教程可能对于当时的 Apache 版本是正确的)。这两个原因可能是您收到内部服务器错误的原因。

在进行配置更改后,您必须重新启动 Apache,否则它们不会产生任何效果(根据 Draw010 的评论)。

您想查看http://dev.zf2.com在您的浏览器中,而不是本地主机中。

如果之后仍然不起作用:

  • 如果您仍然遇到“内部服务器错误”,您需要找出 Apache 错误日志的位置,因为每个服务器错误都应该有一个相应的日志条目,这将为您提供一些有关原因的线索。
  • 您没有提到任何有关 mod_rewrite 的内容 - 我不知道 wamp 中是否默认启用此功能,但如果没有,那将是一个问题。如果错误日志显示无法识别“RewriteEngine”,则启用 mod_rewrite 应该可以修复该问题。

关于php - 在 wamp 2.5 上安装 zend Framework 2 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32215657/

相关文章:

powershell - 使用 PowerShell 的 ActiveDirectory 模块 : changing the user's OU 设置 ADUser

PHP Redis (predis) 计数器与唯一的当前观众

php - vbulletin 使用 CURL 和 PHP 发布帖子

php - 将输入的日期与当前日期进行比较并得到错误的结果,因为服务器时区与输入的时区不同

powershell - 在 PowerShell 中枚举文件属性

visual-studio - 如何自动化 Visual Studio 2017 web 项目发布到文件夹

php - Zend Framework 默认值形式

javascript - Zend Framework 1.12,ContextSwitch或AjaxContext不会禁用布局和其他问题

php - 如何在 Zend Framework 中的 javascript 文件中使用翻译?

php - Mysqli query Injection ,如何注入(inject)SQL查询字符串?