我正在尝试使用NetBeans中的骨架创建一个Zend框架应用程序。当我运行Composer install时,我得到以下错误消息:
"C:phpphp.exe" "C:composercomposer.phar" "--ansi" "--no-interaction" "update" "--dev"
You are using the deprecated option "dev". Dev packages are installed by default now.
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- This package requires php >=5.5 but your PHP version (5.4.42) does not satisfy that requirement.
Problem 2
- Installation request for zendframework/zendframework 2.5.1 -> satisfiable by zendframework/zendframework[2.5.1].
- zendframework/zendframework 2.5.1 requires php >=5.5 -> your PHP version (5.4.42) does not satisfy that requirement.
Done.
显然,Zend框架只需要PHP 5.3+,这与上面的说法相矛盾。我需要使用PHP 5.4.
我的composer.json
如下:
{
"name": "zendframework/skeleton-application",
"description": "Skeleton Application for ZF2",
"license": "BSD-3-Clause",
"keywords": [
"framework",
"zf2"
],
"homepage": "http://framework.zend.com/",
"require": {
"php": ">=5.5",
"zendframework/zendframework": "2.5.1"
}
}
如何使用框架创建PHP 5.4/ZendFramework 2应用程序?有解决办法吗?我是ZendFramework和composer的新手。
您所链接的网页已过期。Zend Framework 2.5需要PHP 5.5或更高版本。你可以运行zf2.4。但是PHP 5.4再过几个月就要寿终正终了,所以如果可以的话,您最好安装一个最新的PHP版本。
我引用你放在这里的代码片段:
"php": ">=5.5",
删除这一行,一切都很好。
Btw, 永远不要在你的composer.json
文件中有一个锁定的版本。锁定的版本是由作曲家自动完成在composer.lock
时运行composer update
。相反,使用^2.5.1
(即>=2.5.1,<3.0-dev)
)或~2.5.1
(即>=2.5.1,<2.6-dev
)这样的版本约束。
一个简单易行的解决方案:它有你需要的一切,包括一个完整的zendframework。
一旦你有了Lamp Stack (linux)或Wamp Stack (windows),进入位于如下路径的配置目录:/home/user/lampstack-5.6.29-1/apache2/conf/bitnami
并编辑文件bitnami-apps-prefix.conf
,你会发现那里有一个注释行
#Include "/home/user/lampstack-5.6.29-1/frameworks/zendframework/conf/httpd-prefix.conf"
// uncomment it deleting the character "#"
// let it:
Include "/home/user/lampstack-5.6.29-1/frameworks/zendframework/conf/httpd-prefix.conf"
// save changes and exit.
如果服务器正在运行,请重新启动服务器。现在你已经运行了zend, php, apache和mysql。
问候