因此,因为我不知道出了什么问题,所以我向您提供有关我之前所做的事情以及所有决定因素的完整信息。 (问题已在底部指出)
wamp 已安装。我的本地主机路径是:
F:\Program Files\wamp\www
所以空间可能会导致某个地方失败。
从 GitHub 下载 SendSkeletonApplication(因为 Tut. 告诉我这样做)并将其解压到我创建的文件夹 zf2 中。所以它的一切都在:
F:\Program Files\wamp\www\zf2
现在我将其提取到这里是公共(public)文件夹的路径:
F:\Program Files\wamp\www\zf2\public
从以下位置下载 Composer-Setup.exe:
https://getcomposer.org/download/
在 php.ini 中启用 php_openssl.dll,因此以下行(不带分号):
extension=php_openssl.dll
打开 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
现在由于不同的图坦卡蒙而变得困惑。我做了以下事情:
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
打开并编辑:
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
嗯,我遵循了一个教程,但它不起作用,所以我按照不正确的顺序进行了以下思考:
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>
转到 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/