成都网站建设设计

将想法与焦点和您一起共享

如何将php代码转换c代码-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

公司主营业务:成都网站制作、网站设计、外贸网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出梁溪免费做网站回馈大家。

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

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

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

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

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

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

安装:

一、需要依赖的包

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

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

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 .

据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 need
export 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 8080
curl http://localhost:8080/test.php
sudo /tmp/hphp_p6vSsP/program -m daemon

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联-成都网站建设公司行业资讯频道,感谢您对创新互联的支持。


文章题目:如何将php代码转换c代码-创新互联
网站URL:http://chengdu.cdxwcx.cn/article/digccj.html