整体来说 C 扩展 PHP 还是很方便的。
你的这个是做用于哪方面用的,也是开源的 chat 系统么?
Ubuntu下用C编写PHP扩展全程实录
这里我们是编译成可动态加载的 php_kdb.so。
安装php5-dev
sudo apt-get install php5-dev
下载PHP源码
sudo apt-get source php5
创建模块模型
cd ./php-5.2.9/ext sudo ./ext_skel --extname=kdb
打开 php_kdb.h 加入函数声明:
PHP_FUNCTION(confirm_kdb_compiled); PHP_FUNCTION(kdb_add);
打开 kdb.c 加入以下内容:
zend_function_entry kdb_functions[] = {
PHP_FE(confirm_kdb_compiled, NULL)
PHP_FE(kdb_add, NULL)
{NULL, NULL, NULL}
};
然后在 kdb.c 的最末尾书写kdb_add函数的内容:
PHP_FUNCTION(kdb_add)
{
long int a, b, c;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ll", &a, &b) == FAILURE) {
return;
}
c = a + b;
RETURN_LONG(c);
}
保存执行一下命令:
phpize ./configure --with-php-config=/usr/local/bin/php-config make sudo make install
如果都没有错误,那接着然后重启动apache,通过phpinfo就可以看到kdb的支持了。
如果你没有安装Apache2和PHP5,执行命令:
sudo apt-get install apache2 sudo apt-get install php5
整体来说 C 扩展 PHP 还是很方便的。
你的这个是做用于哪方面用的,也是开源的 chat 系统么?
chat里面不需要这个,这个打算做kdb+这个内存数据库的扩展用。
内存数据库? 原生的么,还是用的现成的库?
发表讨论