在openshift上使用HHVM和composer



我正在使用Nginx HHVM 3.13.1, MySQL 5.5和phpMyAdmin 4.0墨盒在Openshift上构建测试应用程序。这是一个工作应用程序,我在一个使用Composer并依赖于Facebook的xhp-lib的流浪盒子中本地运行。这是我当前的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运行它,那么' HHVM: command not found'。

这是我正在使用的post-deploy钩子,你可以看到它只是试图下载和安装composer:

#!/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版本?

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

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

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

所以要运行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版本?

啊,不容易,你必须自己构建,或者构建/使用带有新版本的卡带。

最新更新