loading...

PHP扩展开发:安装PHP

发布时间:December 8, 2011 分类:PHP

在CentOS上安装Git

PHP扩展开发:第一个扩展

前言
在几种情况下,我们会需要进行PHP扩展开发:

  1. PHP本身无法访问的资源或是调用,通过扩展的方式可以实现
  2. 处于性能和效率的考虑,用C实现会更好
  3. 处于商业或代码保护考虑,将代码封装起来
  4. 为了更深入的了解PHP,从这里入门
    1. 不管是出于什么原因吧,在看这篇文章的时候,我默认你是有进行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,哈哈。

      Tags: PHP扩展, 教程, MooENV


已有 15 条评论 »

  1. Bighead Bighead

    史诗级坑爹巨制

  2. Bighead Bighead

    你丫是禁止评论了么?

    1. kimi kimi

      评论审核后发表,不然垃圾广告太多了。

  3. kaka kaka

    额。。。应该还有续篇吧。。。

    1. kimi kimi

      确实还有续篇~

  4. 。潇 。潇

    你的SAE可以支持独立域名?

    1. kimi kimi

      查看这里,http://sae.sina.com.cn/?m=devcenter&content_id=36&catId=9

      1. fantasy fantasy

        那你的域名也是在上面备的案??

        1. kimi kimi

          是之前,备案好了的

  5. clear clear

    PHP 版本可以选择或者更新么?

  6. clear clear

    Starting MySQL.The server quit without updating PID file (/usr/local/mysql/data/isa252.hxsd.local.pid). [失败]

    Install mysql-5.5.17-linux2.6-x86_64.tar.bz2 Failed!

  7. Mars Mars

    本来是来看扩展开发的,意外收获一个MooENV。。。

  8. siffer siffer

    MooENV Do Not Support Your OS Release.
    Please Install CentOS 5/6 On Your Server.

    不支持debian或者ubuntu吗?

  9. arvin arvin

    没有中文介绍么我英文很烂啊, 博主C很厉害吧

  10. 好为 好为

    我想请教一下你我在PHP扩展中遇到的问题,你了解 struct zend_arg_info 吗? 你知道如何获取 (zval*) 变量名称吗?
    可以直接这样获取吗? (zval *)->arg_info->name

添加新评论 »

captcha
请输入验证码