当前位置: 首页 > 图文教程 > 网络编程 > PHP > linux下 C语言对 php 扩展

PHP
“懒人”的做法:用PHP简易实现中文分词
实例操作:PEAR的HTML_QuickForm7应用
PHP在电影图像中的妙用 合并汉英字幕
实例解说:用Perl来分析并生成中文Excel文件
实用举例:利用PHP代码实现网页自动判断转向
简单了解操控日期和时间的10个Perl CPAN模块
常用编程应用小技巧 PHP获得文件扩展名三法
windows环境下uploaded_file函数如何饶过缺陷
针对配置文件操作 PHP最常用的四个ini函数
用不同文件 构建可配置PHP应用程序的正确方式
精确到每一秒钟 如何实现在线人数的显示?
用PHP写mail函数 配置好后需要重启apache
简单示例:AJAX结合PHP代码实现登录
PHP中引用&的使用注意事项
关于AJAX的N篇贴子整理
社区新闻--PHP5内容管理系统
PHP 开发环境的选择、建立及使用(1)
PHP 开发环境的选择、建立及使用(2)
PHP 开发环境的选择、建立及使用(3)
PHP 开发环境的选择、建立及使用(4)

PHP 中的 linux下 C语言对 php 扩展


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 205 ::
收藏到网摘: n/a

linux C语言对 php 扩展的设置技巧 一,搭建php环境
下载php 5.2.6 源码 并解压
编译安装,搭建php环境

二,创建扩展项目

进入源码目录
cd php5.2.6/ext/
./ext_skel --extname=my_ext
创建名字为my_ext的项目,最终会生成my_ext.so
三,更改配置和程序
$ vi ext/my_ext/config.m4
根据你自己的选择将
dnl PHP_ARG_WITH(my_ext, for my_ext support,
dnl Make sure that the comment is aligned:
dnl [ --with-my_ext Include my_ext support])
修改成
PHP_ARG_WITH(my_ext, for my_ext support,
Make sure that the comment is aligned:
[ --with-my_ext Include my_ext support])
或者将
dnl PHP_ARG_ENABLE(my_ext, whether to enable my_ext support,
dnl Make sure that the comment is aligned:
dnl [ --enable-my_ext Enable my_ext support])
修改成
PHP_ARG_ENABLE(my_ext, whether to enable my_ext support,
Make sure that the comment is aligned:
[ --enable-my_ext Enable my_ext support])
$ vi ext/my_ext/php_my_ext.h

PHP_FUNCTION(confirm_my_ext_compiled); /* For testing, remove later. */
更改为
PHP_FUNCTION(say_hello);

$ vi ext/my_ext/my_ext.c

zend_function_entry php5cpp_functions[] = {
PHP_FE(confirm_my_ext_compiled, NULL) /* For testing, remove later. */
{NULL, NULL, NULL} /* Must be the last line in php5cpp_functions[] */
};
更改为
zend_function_entry php5cpp_functions[] = {
PHP_FE(say_hello, NULL)
{NULL, NULL, NULL} /* Must be the last line in php5cpp_functions[] */
};
在最后添加:
PHP_FUNCTION(say_hello)
{
zend_printf("hello world\n");
}
四,编译
$ cd my_ext
$ /usr/local/php/bin/phpize
ps: 如果出现:Cannot find autoconf.……的错误信息,则需要安装 autoconf (安装过程略)
$ ./configure --with-php-config=/usr/local/php/bin/php-config
$ make
这时会编译出 my_ext/modules/my_ext.so
五,配置php.ini
将my_ext.so放入/usr/local/php/ext/目录
$ vi php.ini

修改添加如下:
extension_dir = '/usr/local/php/ext/'
extension=my_ext.so
六,测试
$ vi test.php
<?php
say_hello();
?>
$ /usr/local/php/bin/php test.php
hello world.
则大功告成
ps:如有问题请留言,大家共同探讨