前言
在几种情况下,我们会需要进行PHP扩展开发:
- PHP本身无法访问的资源或是调用,通过扩展的方式可以实现
- 处于性能和效率的考虑,用C实现会更好
- 处于商业或代码保护考虑,将代码封装起来
- 为了更深入的了解PHP,从这里入门
不管是出于什么原因吧,在看这篇文章的时候,我默认你是有进行PHP扩展开发这个需求的。本篇文章会分为三个系列从安装、简单实现一个扩展、到深入理解扩展机制和相关API。这也计划把自己最近一段时间以来做PHP扩展开发的一些经验和记录写下来。
准备工作
PHP扩展开发首先要有的是一个源码安装的PHP环境,从简单的角度出发,推荐我们公司的开源项目MooENV。
这是一个自动化部署LAMP环境的开源项目,目前主要是公司运维的同事在维护。特别适合VPS或者虚拟机一键安装环境使用,多了不推荐了,我们开始吧。
安装Git
在CentOS 5.x下面安装Git需要自己编译,详细参见文章《在CentOS上安装Git》;CentOS 6.x下直接
yum install git |
- 即可
安装MooENV
首先把MooENV的源码git clone到本地,才能开始安装,好按照下面的步骤继续吧。
git clone git://github.com/Ismole/MooENV.git |
cd MooENV/ |
dmesg -c #这一步的主要目的是清除系统级别的错误,如果有系统级的错误,MooENV是不能继续安装的,在这里我默认你是在虚拟机装的MooENV,所以直接忽略掉。 |
./install.sh |
下面进入安装MooENV安装过程中的几个问题
Do You Agree To The Terms Of This License? (Y/N) |
#这个必然选y |
=== Which Integrate Environment You Want? === |
1: L.N.M.P – Nginx/PHP-FastCGI/MySQL/NoSQL |
2: L.A.M.P – Apache/PHP/MySQL/NoSQL |
#按照你的喜好选择是Apache还是Nginx吧 |
Do you want to change default YUM mirror to others? (y/n) |
#新系统我都选y,YUM升级下 |
SELECT YUM MIRROR |
1. 163 – http://mirrors.163.com |
2. Sohu – http://mirrors.sohu.com |
3. Custom – Manually input URL |
Which YUM Mirror Do You Want To Use? (1/2/3): |
#这个我一般选择163的YUM镜像 |
Do you want to perform a YUM update now? (y/n) |
#YUM是否立即升级,推荐升级下 |
#然后就是一个依赖库安装的过程 |
=== Set MySQL root password === |
*** Input password: |
#输入MySQL的root密码 |
=== Environment Backup Setting === |
Do you want to add backup job to system cron? (Y/N) |
#是否添加自动备份 |
=== System Services Configuration === |
Do you want Web Server start at boot time? (Y/N) |
#是否自动启动Nginx或是Apache |
Do you want MySQL Server start at boot time? (Y/N) |
#是否自动启动MySQL |
PHP安装完毕
以后我们最常用到的目录就会是PHP的源码目录,可能是这样
cd MooENV/src/php-5.3.8/ext/ |
- 这篇文章的内容完毕了,下面上张图片,其实你可能已经看出来了,本文的重点是推荐MooENV,哈哈。
转载请注明:爱开源 » PHP扩展开发:安装PHP