如何将php代码转换c代码?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

php代码转换c代码的方法:首先需要依赖的包,并在源代码的基础上打补丁;然后指定CMake的位置;接着进行编译;最后使用hphp直接编译为c++代码并执行即可。

把PHP代码编译成C/C++代码,使你的php跑得更快

FaceBook 发布了一款能将php代码转换为C++的工具,hiphop

如果你的网站很大,类似新浪这样的大型门户,可以考虑。

目前已经在CentOS和ubuntu等Linux服务器上编译通过。

安装:

一、需要依赖的包

cmake2.6 is the minimum versiong++/gcc4.3 is the minimum versionBoost1.37 is the minimum versionflexbisonre2clibmysqllibxml2libmcryptlibicu4.2 is the minimum versionopensslbinutilslibcapgdzlibtbbIntel's Thread Building BlocksOnigurumalibpcrelibexpatlibmemcached

下面的包需要在源代码的基础上打补丁

libcurlsrc/third_party/libcurl.fb-changes.difflibevent 1.4src/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/devgit clone git://github.com/facebook/hiphop-php.gitcd hiphop-phpgit submodule initgit submodule updateexport HPHP_HOME=`pwd`export HPHP_LIB=`pwd`/binmakecmake .

据fackbook说,可以提高50%左右的性能,前提是php代码中不能含有eval这种很少用的方法。

四、使用hphp

环境设置:

cd .. # 进入hphp的根目录,源码的存放目录export HPHP_HOME=`pwd`export HPHP_LIB=`pwd`/bin# if you followed the Ubuntu 9.10 instructions, you also needexport CMAKE_PREFIX_PATH=`/bin/pwd`/../

有若干种模式

1:直接编译为c++代码并执行

hphp/hphp test.php

2:编译到一个临时文件夹,并执行编译好的c++程序

hphp/hphp test.php --keep-tempdir=1 --log=3/tmp/hphp_p6vSsP/program 这个根据你自己生成的运行

3:编译php为一个服务,并在指定端口运行

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

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。