溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何將php代碼轉(zhuǎn)換c代碼

發(fā)布時(shí)間:2020-07-22 10:10:55 來源:億速云 閱讀:144 作者:Leah 欄目:編程語言

如何將php代碼轉(zhuǎn)換c代碼?很多新手對此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

php代碼轉(zhuǎn)換c代碼的方法:首先需要依賴的包,并在源代碼的基礎(chǔ)上打補(bǔ)丁;然后指定CMake的位置;接著進(jìn)行編譯;最后使用hphp直接編譯為c++代碼并執(zhí)行即可。

把PHP代碼編譯成C/C++代碼,使你的php跑得更快

FaceBook 發(fā)布了一款能將php代碼轉(zhuǎn)換為C++的工具,hiphop

如果你的網(wǎng)站很大,類似新浪這樣的大型門戶,可以考慮。

目前已經(jīng)在CentOS和ubuntu等Linux服務(wù)器上編譯通過。

安裝:

一、需要依賴的包

cmake2.6 is the minimum version
g++/gcc4.3 is the minimum version
Boost1.37 is the minimum version
flex
bison
re2c
libmysql
libxml2
libmcrypt
libicu4.2 is the minimum version
openssl
binutils
libcap
gd
zlib
tbbIntel's Thread Building Blocks
Oniguruma
libpcre
libexpat
libmemcached

下面的包需要在源代碼的基礎(chǔ)上打補(bǔ)丁

libcurl
src/third_party/libcurl.fb-changes.diff
libevent 1.4
src/third_party/libevent-1.4.13.fb-changes.diff OR src/third_party/libevent-1.4.14.fb-changes.diff

二、指定CMake的位置

export CMAKE_PREFIX_PATH=/home/user

三、編譯

cd /home/user/dev
git clone git://github.com/facebook/hiphop-php.git
cd hiphop-php
git submodule init
git submodule update
export HPHP_HOME=`pwd`
export HPHP_LIB=`pwd`/bin
make
cmake .

據(jù)fackbook說,可以提高50%左右的性能,前提是php代碼中不能含有eval這種很少用的方法。

四、使用hphp

環(huán)境設(shè)置:

cd .. # 進(jìn)入hphp的根目錄,源碼的存放目錄
export HPHP_HOME=`pwd`
export HPHP_LIB=`pwd`/bin
# if you followed the Ubuntu 9.10 instructions, you also need
export CMAKE_PREFIX_PATH=`/bin/pwd`/../

有若干種模式

1:直接編譯為c++代碼并執(zhí)行

hphp/hphp test.php

2:編譯到一個(gè)臨時(shí)文件夾,并執(zhí)行編譯好的c++程序

hphp/hphp test.php --keep-tempdir=1 --log=3
/tmp/hphp_p6vSsP/program 這個(gè)根據(jù)你自己生成的運(yùn)行

3:編譯php為一個(gè)服務(wù),并在指定端口運(yùn)行

hphp/hphp test.php --keep-tempdir=1 --log=3
/tmp/hphp_p6vSsP/program -m server -p 8080
curl http://localhost:8080/test.php
sudo /tmp/hphp_p6vSsP/program -m daemon

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI