0

Nginx HHVM 3.13.1、MySQL 5.5、および phpMyAdmin 4.0 カートリッジを使用して、Openshift でテスト アプリケーションを構築しています。これは、Composer を使用し、Facebook の xhp-lib に依存する vagrant ボックスでローカルに実行している作業アプリケーションです。これは私の現在のcomposer.jsonです

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

2 つの問題があります。1 つ目は、PHP のバージョンが最新ではないこと、2 つ目は、HHVM デーモンを使用して composer install を実行できないことです。

hhvm composer install

その結果、コマンドとして「composer install」を明示的に使用すると「you are running this with PHP and not HHVM」というメッセージが表示され、すべての依存関係が失敗し、「hhvm: command not found」というメッセージが表示されます。 hhvm で実行します。

これは、私が使用しているデプロイ後のフックです。文字通り、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

ここに私の質問があります: XHP を使用できるように、openshift で hhvm の下で composer を実行するにはどうすればよいですか? また、openshift で PHP バージョンをアップグレードするにはどうすればよいですか?

4

1 に答える 1

0

> openshift で hhvm の下で composer を実行するにはどうすればよいですか?

スクリプトまたはコマンド ラインから HHVM を実行するのは少し複雑に思えます。

まず、hhvm バイナリと依存ライブラリが に~/nginx-hhvm/usr/binあり、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 に答える