0

我正在使用 Nginx HHVM 3.13.1、MySQL 5.5 和 phpMyAdmin 4.0 墨盒在 Openshift 上构建一个测试应用程序。这是我在使用 Composer 并依赖于 Facebook 的 xhp-lib 的 vagrant box 本地运行的工作应用程序。这是我当前的 composer.json

{
    "require": 
    {
        "php": ">5.4.0",
        "hhvm": ">=3.6.6",
        "facebook/xhp-lib": "2.x",
        "nikic/fast-route": "dev-master"
    }
}

有两个问题 - 首先,我的 PHP 版本不够最新,其次,我无法像这样使用 HHVM 守护程序运行 composer install

hhvm composer install

结果,如果我明确使用“composer install”作为命令,所有依赖项都会失败,并显示一条消息“你正在使用 PHP 而不是 HHVM 运行它”,如果我真的尝试使用“hhvm: command not found”用 hhvm 运行它。

这是我正在使用的部署后挂钩,正如您所看到的,它实际上只是尝试下载和安装作曲家:

#!/bin/bash

export MY_PHPCOMPOSER=$OPENSHIFT_DATA_DIR/composer.phar

# if composer not exists, download
if [ ! -f $MY_PHPCOMPOSER ]; then
    cd $OPENSHIFT_DATA_DIR
    echo "Downloading composer..."
    curl -s https://getcomposer.org/installer | php -- --install-  dir=$OPENSHIFT_DATA_DIR 
fi

$MY_PHPCOMPOSER -n -q self-update
cd $OPENSHIFT_REPO_DIR   
# install
$MY_PHPCOMPOSER install

所以这是我的问题:如何在 openshift 中的 hhvm 下运行 composer,以便我可以使用 XHP,以及如何在 openshift 中升级我的 PHP 版本?

4

1 回答 1

0

> 如何在 openshift 的 hhvm 下运行 composer?

从脚本或命令行运行 HHVM 似乎有点复杂。

首先,hhvm 二进制文件和依赖库位于,~/nginx-hhvm/usr/bin并且在 .hhvm 配置文件中有一个 hhvm 配置文件~/app-root/runtime/repo/config/hhvm.d/config.ini

所以要运行 HHVM,让我们编写:

LD_LIBRARY_PATH=$OPENSHIFT_PHP_DIR/usr/bin \
    $OPENSHIFT_PHP_DIR/usr/bin/hhvm -c \
        ~/app-root/runtime/repo/config/hhvm.d/config.ini` \
        $OPENSHIFT_DATA_DIR/composer.phar

> 如何在 openshift 中升级我的 PHP 版本?

呃,不容易,您必须自己构建它,或者构建/使用具有较新版本的墨盒。

于 2016-10-15T07:27:37.240 回答