我正在使用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版本?
啊,不容易,你必须自己构建,或者构建/使用带有新版本的卡带。