【问题标题】:composer installation & run composer failed(errors on msg) with HHVM 3.14使用 HHVM 3.14 的作曲家安装和运行作曲家失败(味精错误)
【发布时间】:2016-10-31 13:25:02
【问题描述】:

我用过 ubuntu 14.04 和 laravel。 我已经使用 hhvm 安装了 nginx,如下所示:

$ php -v 

HipHop VM 3.14.1 (rel) Compiler: tags/HHVM-3.14.1-0-gd99b370804b7e0234ab794869d1ba1774c848e85 Repo schema: ac0c6851ba5643ce00ae67bbe67c50973efd65d6

我得到了如上。然后我尝试在我的主目录上安装作曲家

$ curl -sS https://getcomposer.org/installer | php 

所有设置都适合使用 Composer

Downloading 1.1.3...
Fatal error: Uncaught TypeError: Argument 1 passed to unserialize() must be an instance of string, null given in /tmp/php-wrap-xpYu3V:586 
Stack trace:

0 (): unserialize()
1 (): __SystemLib\PharArchiveHandler->parsePhar()
2 (): __SystemLib\PharArchiveHandler->__construct()
3 /tmp/php-wrap-xpYu3V(586): Phar->__construct()
4 /tmp/php-wrap-xpYu3V(55): installComposer()
5 /tmp/php-wrap-xpYu3V(13): process()
6 {main}

我遇到了这样的错误。

然而,

如果我选择 php7.0,并下载 composer,它会正常工作。 但是,每当我安装 hhvm 并使用 nginx 运行它时, 它给出了这样的:

$ composer

Fatal error: Uncaught TypeError: Argument 1 passed to unserialize() must be an instance of string, null given in /usr/local/bin/composer:23 Stack trace:

0 (): unserialize()
1 (): __SystemLib\PharArchiveHandler->parsePhar()
2 (): __SystemLib\PharArchiveHandler->__construct()
3 (): Phar->__construct()
4 /usr/local/bin/composer(23): Phar::mapPhar()
5 {main}

有什么想法吗?

谢谢,

【问题讨论】:

    标签: php laravel composer-php hhvm


    【解决方案1】:

    我想我明白了。

    带有 php7 版本的 hhve 3.14 无法正常工作。

    我添加了 hhvm.php7.all = true 在 /etc/hhvm/php.ini 这给了php7然后它不稳定,如果我将hhvm与php5一起使用,一切正常。只要去掉那个hhvm.php7.all = true,它就会变成带有hhvm的php5。

    不要过度依赖 hhvm+php7 选项,有很多基准测试表明 php7 使用 opcache(JIT 编译)比 hhvm 稍快。 甚至是 laravel、wp 和 drupal。

    此外,带有 composer 执行的 hhvm 比使用 php7 慢很多。

    【讨论】:

      猜你喜欢
      • 2018-06-22
      • 2021-08-07
      • 2021-11-03
      • 2017-09-15
      • 2017-02-14
      • 2013-09-07
      • 2013-06-02
      相关资源
      最近更新 更多