0

我正在尝试使用 NetBeans 中的骨架创建 Zend Framework 应用程序。当我运行 Composer 安装时,我收到以下错误消息:

"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 和作曲家的新手。

4

3 回答 3

1

您链接到的页面已过期。Zend Framework 2.5 需要 PHP 5.5 或更高版本。您可以在您的 PHP 版本上运行 ZF 2.4.x,但PHP 5.4 将在几个月后终止使用,因此如果可以的话,您最好安装更新版本的 PHP。

于 2015-07-05T22:39:00.443 回答
0

我引用你放在这里的代码片段:

"php": ">=5.5",

删除该行,一切正常。


顺便说一句,您的文件中永远不会有锁定版本。composer.json锁定版本由 Composer 在composer.lock运行时自动完成composer update。相反,使用版本约束,如^2.5.1(meaning>=2.5.1,<3.0-dev)~2.5.1(meaning >=2.5.1,<2.6-dev)。

于 2015-07-05T19:34:26.043 回答
0

一个简单易行的解决方案:安装 Bitnami Lamp Stack 它拥有你所需要的一切,包括一个完整的 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。

问候

于 2017-03-08T06:00:13.923 回答