问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

谁知道PHP如何调用C语言的吗

发布网友 发布时间:2022-04-06 00:56

我来回答

4个回答

懂视网 时间:2022-04-06 05:17

php代码转c的实现方法:首先安装需要依赖的包;然后指定CMake的位置;接着通过“export HPHP_HOME=`pwd`”等命令进行编译;最后直接编译为c++代码并执行即可。

推荐:《PHP视频教程》

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

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

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

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

安装:

一、需要依赖的包

cmake 2.6 is the minimum version
g++/gcc 4.3 is the minimum version
Boost 1.37 is the minimum version
flex
bison
re2c
libmysql
libxml2
libmcrypt
libicu 4.2 is the minimum version
openssl
binutils
libcap
gd
zlib
tbb Intel'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

热心网友 时间:2022-04-06 02:25

这是两个完全不一样的程序语言。是不能相互调用的。
但是php的代码(如:循环)有很多是和c语言的代码想通的,只要懂C语言或者是其他的编程语言。那么学习PHP是很容易上手的。
希望对你有帮助。

参考资料:www.php100.com

热心网友 时间:2022-04-06 03:43

调用不了的啊。。。 两者的开发平台和环境都不一样,不可能调用的。。。

热心网友 时间:2022-04-06 05:18

可以用PHP扩展进行C语言的调用。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦见好多鱼在水里活蹦乱跳 教你如何将让reaver PIN 进度随意更改精确前四位 求个保存PIN进度的方法 ...不上外接键盘,但鼠标一直有用,谁能告诉我怎么回事,先谢了。。_百度... 相机SD卡,卡上图片电脑显示不出来 相机SD卡用读卡器插到电脑上DCIM文件夹不显示照片怎么解决? win10查询错误日志的方法-win10怎么查询错误日志 电脑系统日志文件如何查看电脑里的系统日志 电脑事件日志在哪里看怎样查看电脑使用的日志 win11系统日志在哪里看 win11系统日志怎么看 求助:php代码翻译为c 如何php代码转化为C#代码 php的代码 转换成 c# php代码 转 c#代码 PHP实现多维数组转字符串和多维数组转一维数组的方法 php怎么把数组合并成字符串 用php怎么把二维数组转化成字符串 PHP中数组转换成字符串 php数组与字符串的转换函数有哪些,它们的作是什么是什么? 在PHP中php数组转换为字符串的两种常用方法 怎样把php数组转换成字符串,php implode php文件里有多个方法如何调用 明明方法是存在的,为什么php报方法不存在 php里面关于__callStatic的的调用 PHP的PHP5 yii 调用不存在的方法和控制器 该怎么办 php中怎么使用call php对象访问不存在的类属性 php 同一个类中不同方法的调用 如何在php类中执行某方法的时候自动执行另一个方法?比如我执行数据插入的时候自动运行数据过滤的方法? 求帮忙转换php代码c++源码转换,C++源码如下 如何在php代码中嵌套c程序 php如何调用c接口无错版 PHP 数字转字母代码 如何用php实现通过web执行c/c++程序 PHP变量的编码如何转换! 如何把自己写的php源代码变成程序,就像windows下的计算器那样 怎么把php代码字符串转化成可执行代码 一个简单的汇编代码转C语言代码,高手帮帮忙 PHP代码中包含10进制和16进制还有字母混合如何转换成正常代码 php代码转java 如何用php同时生成两个不同的随机数 php怎么生成6位随机数,php随机数例子 如何用php同时生成两个不同的随机数 (1 用PHP随机得到6个不同的随机数,求思路?! 在php中生成随机数有那几种方法?如何从一个数组中随机取得一个元素? php程序如何产生随机数? PHP程序实现利用rand(1,100)函数产生10个1~100之间的随机数 用PHP怎么实现 在页面设置随机数字范围 并且自动填入随机数字在新跳出的页面 php 指定随机数