php函数能用c语言吗 php函数的应用

php语言可执行c语言么?不能啊,PHP跟C有各自运行的服务器,虽然说PHP是建立在C的基础上的 , 但是两者不可能相通的,不过可能会有高手知道,
php是用什么语言开发的 , c语言吗?php的解释器是用c写的 , 解释器相当于弱编译器,但是php本身并不基于某种底层语言 。
PHP在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言 。它驱动全球超过2亿多个网站,有全球超过81.7%的公共网站在服务器端采用PHP 。PHP常用的数据结构都内置了 , 使用起来方便简单,也一点都不复杂,表达能力相当灵活 。
扩展资料
主要特点
(一)开源性和免费性
由于PHP的解释器的源代码是公开的,所以安全系数较高的网站可以自己更改PHP的解释程序 。另外,PHP 运行环境的使用也是免费的 。
(二)快捷性
PHP是一种非常容易学习和使用的一门语言,它的语法特点类似于C语言,但又没有C语言复杂的地址操作,而且又加入了面向对象的概念,再加上它具有简洁的语法规则,使得它操作编辑非常简单,实用性很强 。
(三)数据库连接的广泛性
PHP可以与很多主流的数据库建立起连接 , 如MySQL、ODBC、Oracle等 , PHP是利用编译的不同函数与这些数据库建立起连接的 , PHPLIB就是常用的为一般事务提供的基库 。
参考资料来源:百度百科-PHP
如何用C语言编写PHP扩展的详解1:预定义
在home目录 , 也可以其他任意目录 , 写一个文件,例如caleng_module.def
内容是你希望定义的函数名以及参数:
int a(int x,int y)
string b(string str,int n)
2:到php源码目录的ext目录
#cd /usr/local/php-5.4.0/ext/
执行命令,生成对应扩展目录
#./ext_skel --extname=caleng_module --proto=/home/hm/caleng_module.def
3:修改config.m4
去掉dnl的注释
PHP_ARG_ENABLE(caleng_module, whether to enable caleng_module support,
Make sure that the comment is aligned:
[--enable-caleng_moduleEnable caleng_module support])
4:修改caleng_module.c
代码如下:
/* {{{ proto int a(int x, int y)
*/
PHP_FUNCTION(a)
{
int argc = ZEND_NUM_ARGS();
int x;
int y;
int z;
if (zend_parse_parameters(argc TSRMLS_CC, "ll", x, y) == FAILURE)
return;
z=x+y;
RETURN_LONG(z);
}
/* }}} */
/* {{{ proto string b(string str, int n)
*/
PHP_FUNCTION(b)
{
char *str = NULL;
int argc = ZEND_NUM_ARGS();
int str_len;
long n;
char *result;
char *ptr;
int result_length;
if (zend_parse_parameters(argc TSRMLS_CC, "sl", str, str_len, n) == FAILURE)
return;
result_length = str_len * n;
result = (char *) emalloc(result_length + 1);
ptr = result;
while (n--) {
memcpy(ptr, str, str_len);
ptr += str_len;
}
*ptr = '\0';
RETURN_STRINGL(result, result_length, 0);
}
/* }}} */
5:生成扩展库
#cd ./caleng_module
#/usr/local/php/bin/phpize
#./configure --with-php-config=/usr/local/php/bin/php-config
#make
#make install
6:到php的对应extensions目录
如上图所示
#cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/
改目录下有生成的caleng_module.so文件
7:修改php.ini
php.ini如果找不到可以从phpinfo()打出的信息看到
【php函数能用c语言吗 php函数的应用】#cd /usr/local/php/lib/
php.ini增加扩展信息
extension=caleng_module.so
8:重启Apache
# /usr/local/apache2/bin/apachectl restart

推荐阅读