【问题标题】:How to install zend framework on Ubuntu?如何在 Ubuntu 上安装 zend 框架?
【发布时间】:2014-06-25 09:40:00
【问题描述】:

我想在 Ubuntu 上安装 zend 框架,我已按照安装说明进行操作 http://framework.zend.com/manual/2.2/en/user-guide/skeleton-application.html 链接但安装失败。

我已经从这里下载了 ZendSkeletonApplication https://github.com/zendframework/ZendSkeletonApplication

运行此命令后

php composer.phar self-update   // it's working

但是在第一个命令之后是第二个命令

php composer.phar install   // Not working

并显示此错误

Loading composer repositories with package information
Installing dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

 Problem 1
- zendframework/zendframework 2.3.1 requires php >=5.3.23 -> no matching package found.
- zendframework/zendframework 2.3.0 requires php >=5.3.23 -> no matching package found.
- Installation request for zendframework/zendframework 2.3.* -> satisfiable by zendframework/zendframework[2.3.0, 2.3.1].

Potential causes:
 - A typo in the package name
 - The package is not available in a stable-enough version according to your minimum-stability setting
   see <https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion> for more details.

更新在一些 cmets 之后:

现在我已经下载了 ZendSkeletonApplication-master 并移动了

ZendFramework-2.3.1 的库文件夹

在

ZendSkeletonApplication-master/vendor/ZF2/

但之后当我访问此页面时,我在页面上收到此错误

ZendSkeletonApplication-master/public/index.php // 在浏览器中显示这个错误

Fatal error: Declaration of Zend\Stdlib\ArrayObject::offsetGet() must be compatible with
that of ArrayAccess::offsetGet() in /var/www/html/demo/username/ZendSkeletonApplication
-master/vendor/ZF2/library/Zend/Stdlib/ArrayObject.php on line 22

【问题讨论】:

  • 问题很明确:ZF2 需要 PHP 5.3.23 或更高版本,它应该安装在您的系统上。 php -v 命令的输出是什么?
  • php-v 的输出是:- PHP 5.3.10-1ubuntu3.11 with Suhosin-Patch (cli) (built: Apr 4 2014 01:27:23) Copyright (c) 1997- 2012 PHP Group Zend Engine v2.3.0,版权所有 (c) 1998-2012 Zend Technologies
  • @user3611956 那么,你学到了什么?
  • 我在我的电脑上安装了 php5 和 mysql 和 apache 但还没有解决。
  • 你运行的是哪个版本的 Ubuntu?

标签: php zend-framework2 composer-php


【解决方案1】:

阅读错误,我们需要重点关注的是: zendframework/zendframework 2.3.1 需要 php >=5.3.23 -> 找不到匹配的包。

我会为你分解它。

这表明您尝试安装的软件包(zendframework/zendframework 2.3.1)需要 php 版本大于或等于 5.3.23。正如您的 php -v 输出所述,您正在运行 PHP 5.3.10。如果您在有权更新 php 版本的本地服务器上运行,然后更新 php 并再次运行它,您应该会看到它工作正常。如果您在远程服务器上,请联系您的托管公司,看看他们是否可以将您升级到更新版本的 php,然后再次运行它!

希望这会有所帮助!

【讨论】:

    【解决方案2】:

    有两种解决方案:

    首先升级 php,但是您系统上的 Ubuntu 版本可能没有升级 php。因此,在这种情况下,搜索 google 为您的 ubuntu-VERSION 添加 php 5.3.23 的 APT 存储库。

    其次,我亲身体验过,Checkout 文件夹中你会发现 composer.json 文件,在该文件中你会得到类似的设置

    "require": {
        "php": ">=5.3.23",
        "zendframework/zendframework": "2.3.*"
    }
    

    只需更改设置即可获得其他版本的 ZF2

    "require": {
        "php": ">=5.3.3",
        "zendframework/zendframework": "2.2.*"
    }
    

    它对我有用。它应该适合你。

    【讨论】:

    • @user3611956 依赖于"zendframework/zendframework": "2.2.*" 将起作用。这就是他这篇文章的全部意义所在。如果没有,将会有不同的错误消息。
    • @Sam,我想他现在改变了整个问题。
    • 是的,很有道理。如果作曲家下载不起作用,只需手动下载并希望它可以工作。它并没有改变 PHP 版本仍然错误的事实:S
    • Thanx @Sam 对于你的回答,它对我有用,但我不能给你+1,因为我是新手,没有权限,所以 thanx ,thanx ,thanx ,谢谢,谢谢..
    【解决方案3】:

    如果您安装了多个版本的 php,并且您的 php 环境变量链接到旧的 php 可执行文件,那么您可能会遇到此问题。将您的环境变量更改为您要使用的 php。

    【讨论】:

      猜你喜欢
      • 2015-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多