2016-06-29 33 views
0

Ich baue eine Test-Anwendung auf Openshift mit den Nginx HHVM 3.13.1, MySQL 5.5 und phpMyAdmin 4.0 Patronen. Dies ist eine funktionierende Anwendung, die ich lokal in einer Vaganten-Box ausgeführt habe, die Composer verwendet und eine Abhängigkeit von Facebooks xhp-lib hat. Dies ist meine aktuelle composer.jsonmit hhvm und Composer auf openshift

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

Es gibt zwei Probleme - erstens, meine PHP-Version nicht aktuell genug ist, und zweitens, kann ich nicht Komponist installieren führen Sie den HHVM Daemon wie so

hhvm composer install 

und daher alle Abhängigkeiten mit der Meldung "Sie führen dies mit PHP und nicht HHVM" fehlschlagen, wenn ich explizit 'Composer-Installation' als Befehl und 'hhvm: Befehl nicht gefunden' wenn ich versuche es tatsächlich mit hhvm.

Dies ist der post-deploy Haken, die ich verwende, wie Sie es buchstäblich nur und installieren Komponist herunterladen versucht sehen können:

#!/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 

meine Fragen So sind hier: Wie ich Komponist laufen kann unter hhvm in openshift, damit ich XHP verwenden kann, und Wie aktualisiere ich meine PHP-Version in openshift?

Antwort

0

> Wie kann ich Composer unter hhvm in openshift ausführen?

Running HHVM von einem Skript oder der Befehlszeile scheint ein bisschen kompliziert.

Zuerst, hhvm Binärdateien und abhängig von Bibliotheken sind bei ~/nginx-hhvm/usr/bin und es gibt eine hhvm Konfigurationsdatei um ~/app-root/runtime/repo/config/hhvm.d/config.ini.

So HHVM laufen, lassen Sie uns zusammensetzen:

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 

> Wie kann ich meine PHP-Version in Openshift aktualisieren?

Ugh, nicht leicht, Sie müssten es selbst bauen oder eine Kassette mit neueren Versionen bauen/verwenden.