前言
在几种情况下,我们会需要进行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
