• 以源码编译的方式安装PHP与php-fpm

    注意一些安装细节
    服务器君一共花费 15.822 ms 进行了 2 次数据库查询,努力地为您提供了这个页面。
    广告很萌的

    前面介绍的是以 remi 源安装,它会自动安装最新的 PHP 以及它的一些扩展。但是有时候我们需要一些低版本的 PHP,比如 PHP 5.3.x 之类的。这里可以使用源码编译的方式安装。

    首先是最基本的下载,解压,编译安装(以PHP 5.3.6 为例):

    wget http://www.php.net/get/php-5.3.6.tar.gz/from/this/mirror
    tar xzvf php-5.3.6.tar.gz
    cd php-5.3.6
    ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm
    make && make install 
    cp php.ini-production /usr/local/php/etc/php.ini
    

    如果提示:configure error xml2-config not found. please check your libxml2 installation

    检查是否安装了libxml包:

    # rpm -qa |grep  libxml2
    libxml2-2.6.26-2.1.12
    libxml2-python-2.6.26-2.1.12
    

    重新安装libxml2和libxml2-devel包, yum安装的时候发现新版本会提示更新,需要更新的可以更新,不要跳过就行了。

    # yum install libxml2
    # yum install libxml2-devel -y
    

    OK,PHP这样就安装成功了,接下来是配置 php-fpm

    [root@nowamagic ~]# /usr/local/php/sbin/php-fpm
    [05-Oct-2013 12:09:26] ALERT: [pool www] pm.min_spare_servers(0) must be a positive value
    [05-Oct-2013 12:09:26] ERROR: failed to post process the configuration
    

    报错了。

    编辑php-fpm.conf

    cd /usr/local/php/etc/
    cp php-fpm.conf.default php-fpm.conf
    vim php-fpm.conf
    

    找到pid = run/php-fpm.pid把前面的注释符号删掉。

    下面启动php-fpm并重启nginx

    /usr/local/php/sbin/php-fpm
    service nginx restart
    

    再次编辑php-fpm.conf找到pm.min_spare_server ;pm.min_spare_servers = 5 去除;号。

    执行以下命令,并再次启动 php-fpm

    [root@nowamagic ~]# sed -i 's/;pm.max_spare_servers = 35/pm.max_spare_servers = 35/g' /usr/local/php/etc/php-fpm.conf
    [root@nowamagic ~]# /usr/local/php/sbin/php-fpm
    [05-Oct-2013 12:13:51] WARNING: [pool www] pm.start_servers is not set. It's been set to 20.
    

    还是报错,但是报错信息不一样了。

    继续:

    [root@nowamagic ~]# sed -i 's/;pm.start_servers = 20/pm.start_servers = 20/g' /usr/local/php/etc/php-fpm.conf
    [root@nowamagic ~]# /usr/local/php/sbin/php-fpm
    [05-Oct-2013 12:14:09] ERROR: bind() for address '127.0.0.1:9000' failed: Address already in use (98)
    

    OK,现在就是解决端口问题就行了。

    netstat -ntlp | grep 9000
    tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      14096/php-fpm
    

    原来是 php-fpm 占用了。kill掉就行。

    [root@nowamagic ~]# killall php-fpm
    [root@nowamagic ~]# /usr/local/php/sbin/php-fpm
    

    php-fpm 启动成功。

更多 推荐条目

Welcome to NowaMagic Academy!

现代魔法 推荐于 2013-02-27 10:23   

本章最新发布
随机专题
  1. [PHP程序设计] 编程范式初探 3 个条目
  2. [PHP程序设计] PHP与Stream流 5 个条目
  3. [PHP程序设计] PHP里的引用 5 个条目
  4. [计算机算法] 从双端队列引出的卡特兰数 3 个条目
  5. [移动开发] Layout_weight属性解析 5 个条目
  6. [JavaScript程序设计] Web实时通信技术名词解析 5 个条目
  7. [PHP程序设计] fsockopen,curl与file_get_contents 12 个条目
  8. [移动开发] 从代码角度去认识 Thread 9 个条目
  9. [Python程序设计] Tornado 服务器环境配置 3 个条目
  10. [移动开发] 使用support-v7 ActionBar前的那些坑 3 个条目
  11. [智力开发与知识管理] 信息的类型与结构 9 个条目
  12. [移动开发] Android里的ContentValues 2 个条目
窗口 -- [资讯]