У меня есть веб-приложение на IBM Bluemix. Я бы хотел ускорить приложение, предварительно скомпилировав PHP, используя HHVM Facebook. Как это может быть сделано? Возможно ли это на Bluemix?Установить HHVM на IBM Bluemix
Спасибо,
-
У меня есть веб-приложение на IBM Bluemix. Я бы хотел ускорить приложение, предварительно скомпилировав PHP, используя HHVM Facebook. Как это может быть сделано? Возможно ли это на Bluemix?Установить HHVM на IBM Bluemix
Спасибо,
-
Да это на самом деле будет. Было бы немного поработать над этим, но с пакетом сборки вы можете запустить любой исполняемый файл. Вам просто нужно привязать к порту, который назначается переменной окружения $PORT
. Проверьте the Cloud Foundry Docs на реализацию одного. Я бы взял пик в C buildpack.
binary buildpack, вероятно, будет вашим лучшим стартовым местом.
Вы можете скомпилировать свой код с помощью HHVM, я вытащил соответствующие фрагменты из here ниже. Это необходимо сделать на Ubuntu 14.04, так как это то, о чем идет Bluemix.
Установка Deps:
sudo apt-get install autoconf automake binutils-dev build-essential cmake g++ gawk git \
libboost-dev libboost-filesystem-dev libboost-program-options-dev libboost-regex-dev \
libboost-system-dev libboost-thread-dev libboost-context-dev libbz2-dev libc-client-dev libldap2-dev \
libc-client2007e-dev libcap-dev libcurl4-openssl-dev libdwarf-dev libelf-dev \
libexpat-dev libgd2-xpm-dev libgoogle-glog-dev libgoogle-perftools-dev libicu-dev \
libjemalloc-dev libmcrypt-dev libmemcached-dev libmysqlclient-dev libncurses-dev \
libonig-dev libpcre3-dev libreadline-dev libtbb-dev libtool libxml2-dev zlib1g-dev \
libevent-dev libmagickwand-dev libinotifytools0-dev libiconv-hook-dev libedit-dev \
libiberty-dev libxslt1-dev ocaml-native-compilers libsqlite3-dev libyaml-dev libgmp3-dev \
gperf libkrb5-dev libnotify-dev
Загрузка HHVM исходный код:
git clone git://github.com/facebook/hhvm.git --depth=1
cd hhvm
git submodule update --init --recursive
Сложение HHVM:
cmake -DMYSQL_UNIX_SOCK_ADDR=/var/run/mysqld/mysqld.sock .
make -j [number_of_processor_cores] # eg. make -j 4
sudo make install
Установленный hhvm двоичный код может быть найден в /usr/local/bin
Это легко сделать со встроенным PHP buildpack. Просто укажите зависимость от HHVM в файле composer.json, как показано ниже: { "require": { "hhvm": ">=3.5" } }
Это примечание. Хотя он не имеет прямого отношения к коду, вопрос задает технический вопрос по этой теме. –