ubuntu12.04使用c编写php扩展模块教程分享


在Ubuntu 12.04上使用C语言编写PHP扩展模块,你需要遵循一系列步骤来准备环境、编写代码、编译扩展,并最终将其加载到PHP中。以下是一个简化的教程,帮助你完成这个过程。

### 第一步:安装必要的工具和库

首先,确保你的Ubuntu 12.04系统上安装了PHP、PHP开发包、构建工具和SVN(如果你打算从源代码获取PHP):


sudo apt-get update
sudo apt-get install php5 php5-dev build-essential subversion

### 第二步:下载PHP源代码(可选)

如果你需要修改PHP源代码或仅为了了解扩展开发的环境,可以下载PHP源代码。但对于大多数扩展开发,这并非必需。


svn checkout https://svn.php.net/repository/php/php-src/branches/PHP_5_3/

注意:上面的命令以PHP 5.3分支为例,根据你的需要调整版本。

### 第三步:创建扩展框架

进入PHP源代码的`ext`目录,使用`ext_skel`脚本生成扩展的基本框架。假设你想创建一个名为`myext`的扩展:


cd php-src/ext
./ext_skel --extname=myext

这将在`ext`目录下创建一个`myext`目录,包含扩展的基本文件。

### 第四步:编辑扩展代码

进入`myext`目录,并编辑`config.m4`和`myext.c`文件以添加你的功能。

- 在`config.m4`中,确保你的扩展能够被配置和编译。

- 在`myext.c`中,编写你的PHP函数和相关的C代码。

### 第五步:编译扩展

在`myext`目录下,运行以下命令来编译你的扩展:


phpize
./configure
make
sudo make install

编译成功后,你的扩展将被安装到PHP的扩展目录中,通常是`/usr/lib/php5/xxxx/`(其中`xxxx`是API版本)。

### 第六步:加载扩展

编辑PHP的配置文件(通常是`/etc/php5/apache2/php.ini`或`/etc/php5/cli/php.ini`,取决于你的使用场景),添加以下行来加载你的扩展:


extension=myext.so

### 第七步:重启Web服务器(如果适用)

如果你是在Web环境下使用PHP,需要重启你的Web服务器(如Apache或Nginx)来使更改生效:


sudo /etc/init.d/apache2 restart

或者对于Nginx和PHP-FPM:


sudo service php5-fpm restart
sudo service nginx restart

### 第八步:测试扩展

创建一个PHP文件来测试你的扩展是否按预期工作。在文件中调用你定义的函数,并查看输出。

---

这就是在Ubuntu 12.04上使用C语言编写PHP扩展模块的基本过程。注意,具体的步骤和命令可能会根据你的PHP版本和系统配置有所不同。