Zend Framework / Skeleton-Application / Composer安装问题


Zend Framework / Skeleton-Application / Composer install issue

我正在尝试使用NetBeans中的骨架创建一个Zend框架应用程序。当我运行Composer install时,我得到以下错误消息:

"C:'php'php.exe" "C:'composer'composer.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。

问候