`

编译安装 php5.6

    博客分类:
  • php
php 
阅读更多
下载php56
http://cn2.php.net


解压:
tar -zxvf php-5.6.xx.tar.gz


进入php56目录,configure,注意下自己安装目录
./configure  --enable-fpm  --with-fpm-user=www  --with-fpm-group=www  --prefix=/usr/local/php-56  --with-config-file-path=/etc/php/56  --sysconfdir=/etc/php/56  --with-config-file-scan-dir=/etc/php/56/conf.d  --enable-mbstring  --enable-pcntl  --with-mysql=mysqlnd  --with-zlib  --with-png-dir  --with-jpeg-dir  --with-freetype-dir  --with-gd  --enable-gd-native-ttf  --with-curl=shared  --with-mysqli=mysqlnd  --enable-soap=shared  --enable-sockets=shared  --enable-mysqlnd  --with-pdo-mysql=mysqlnd  --with-gettext=shared  --with-mcrypt=shared  --with-openssl=shared


将php56软链到/usr/sbin下
sudo ln -s /usr/local/php-56/bin/php php56


php扩展的目录,请看configure --prefix参数,如上配置/usr/local/php-56/lib/php/extensions/,扩展的配置文件请看configure   --with-config-file-path参数,如上/etc/php/56,在/etc/php/56目录下建立conf.d目录,扩展配置的配置文件放到conf.d目录下,如mcrypt.so扩展配置文件mcrypt.ini
extension=mcrypt.so


添加php56-fpm service,在/etc/init.d目录下新建php56-fpm文件,文件内容
#! /bin/sh

### BEGIN INIT INFO
# Provides:          php-fpm
# Required-Start:    $remote_fs $network
# Required-Stop:     $remote_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts php-fpm
# Description:       starts the PHP FastCGI Process Manager daemon
### END INIT INFO

prefix=/usr/local/php-56
exec_prefix=${prefix}

php_fpm_BIN=${exec_prefix}/sbin/php-fpm
php_fpm_CONF=/etc/php/56/php-fpm.conf
php_fpm_PID=${prefix}/var/run/php-fpm.pid


php_opts="--fpm-config $php_fpm_CONF"


wait_for_pid () {
        try=0

        while test $try -lt 35 ; do

                case "$1" in
                        'created')
                        if [ -f "$2" ] ; then
                                try=''
                                break
                        fi
                        ;;

                        'removed')
                        if [ ! -f "$2" ] ; then
                                try=''
                                break
                        fi
                        ;;
                esac

                echo -n .
                try=`expr $try + 1`
                sleep 1

        done

}

case "$1" in
        start)
                echo -n "Starting php-fpm "

                $php_fpm_BIN $php_opts

                if [ "$?" != 0 ] ; then
                        echo " failed"
                        exit 1
                fi

                wait_for_pid created $php_fpm_PID

                if [ -n "$try" ] ; then
                        echo " failed"
                        exit 1
                else
                        echo " done"
                fi
        ;;

        stop)
                echo -n "Gracefully shutting down php-fpm "

                if [ ! -r $php_fpm_PID ] ; then
                        echo "warning, no pid file found - php-fpm is not running ?"
                        exit 1
                fi

                kill -QUIT `cat $php_fpm_PID`

                wait_for_pid removed $php_fpm_PID

                if [ -n "$try" ] ; then
                        echo " failed. Use force-quit"
                        exit 1
                else
                        echo " done"
                fi
        ;;

        force-quit)
                echo -n "Terminating php-fpm "

                if [ ! -r $php_fpm_PID ] ; then
                        echo "warning, no pid file found - php-fpm is not running ?"
                        exit 1
                fi

                kill -TERM `cat $php_fpm_PID`

                wait_for_pid removed $php_fpm_PID

                if [ -n "$try" ] ; then
                        echo " failed"
                        exit 1
                else
                        echo " done"
                fi
        ;;

        restart)
                $0 stop
                $0 start
        ;;

        reload)

                echo -n "Reload service php-fpm "

                if [ ! -r $php_fpm_PID ] ; then
                        echo "warning, no pid file found - php-fpm is not running ?"
                        exit 1
                fi

                kill -USR2 `cat $php_fpm_PID`

                echo " done"
        ;;

        *)
                echo "Usage: $0 {start|stop|force-quit|restart|reload}"
                exit 1
        ;;

esac


修改下/etc/php/56/php.ini文件的扩展路径;
分享到:
评论

相关推荐

    Linux 6 下编译安装 PHP 5.6实例详解

    Linux 6 下编译安装 PHP 5.6实例详解 PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发...

    CentOS6.5一键安装Mysql5.6

    同时,安装一些必需的依赖包,例如gcc、ncurses-devel等,用于编译MySQL: ``` yum install gcc ncurses-devel -y ``` 二、下载MySQL安装包 "install_mysql"这个压缩包文件包含了MySQL 5.6的安装源代码或二进制文件...

    CentOS7下源码编译配置Apache2.4+MySQL5.6+PHP71

    2. 配置并编译PHP,确保链接到Apache模块: ```bash ./configure --prefix=/usr/local/...

    PHP5.6版本安装redis扩展(内附扩展包文件)

    总结,安装PHP5.6的Redis扩展涉及下载扩展源码,编译安装,修改配置文件,重启服务以及进行测试。同时,了解如何启用其他相关扩展,如`igbinary`,能提升Redis的性能。遵循以上步骤,您将能够顺利地在PHP5.6环境中...

    php5.6可用ffmpeg

    标题 "php5.6可用ffmpeg" 暗示了在 PHP 5.6 的环境下,我们可以成功地集成和使用 FFmpeg 库。在描述中提到 "亲测可用",这意味着有人已经完成了这个集成,并且在他的博客中有详细的配置教程。这表明,尽管不是最新的...

    详解Lamp环境搭建Linux CentOS6.5编译安装mysql5.6

    在本文中,我们将深入探讨如何在Linux CentOS 6.5系统上编译安装LAMP环境中的MySQL 5.6。LAMP是Linux、Apache、MySQL和PHP的缩写,是一个流行的Web开发平台。首先,确保你的系统是CentOS 6.5,并且准备好进行必要的...

    centos6系统 编译php5.6 的mongodb.so文件

    在CentOS 6系统上编译PHP 5.6的MongoDB扩展,即mongodb.so文件,是一项技术性较强的任务,涉及到多个步骤。MongoDB是一种流行的NoSQL数据库,而PHP是常用的服务器端脚本语言,MongoDB扩展使得PHP能够与MongoDB数据库...

    apache24 + php5.6

    1. **安装PHP**:解压php5.6.zip文件,获取php.ini-development或php.ini-production,复制并重命名为php.ini,放置在PHP的根目录下。 2. **配置PHP**:在php.ini文件中,取消注释extension_dir行,设置为PHP扩展库...

    php5.6下的redis扩展(redis/php_redis.dll/php_igbinary.dll)windows环境

    这里特别指出的是,版本号表示这是为PHP 5.6编译的,非线程安全(NTS)版本,并且是针对VC11编译器(Visual C++ 2012)构建的32位版本。在PHP的`php.ini`配置文件中,通过取消注释`extension=php_redis.dll`来启用此...

    php_redis.dll和php_igbinary.dll-php5.6版下载

    文件列表: php_igbinary-1.2.1-5.5-nts-vc11-x64 php_igbinary-1.2.1-5.5-nts-vc11-x86 php_igbinary-1.2.1-5.5-ts-vc11-x64 php_igbinary-1.2.1-5.5-ts-vc11-x86 ...php_redis-2.2.7-5.6-ts-vc11-x86

    php5.6 ioncube解密文件

    `php5.6 ioncube解密文件`这个主题就是关于如何在PHP 5.6环境中对使用ionCube扩展加密的代码进行解密和理解的教程。ionCube是一种广泛使用的PHP代码保护工具,它允许开发者将源代码编译为无法直接阅读的格式,从而...

    linux 下php5.6源码

    在Linux下编译和安装PHP5.6源码,你需要遵循以下步骤: 1. **安装依赖**:确保系统中安装了必要的构建工具和库,如`libxml2`、`openssl`、`zlib`、`curl`、`gd`等,以及`autoconf`、`automake`、`libtool`等构建...

    ssh2_for_php5.6

    标题“ssh2_for_php5.6”所指的是一种在PHP 5.6环境中使用SSH2(Secure Shell Version 2)协议进行远程操作和管理的技术。SSH2是一种网络协议,常用于安全地执行命令、传输文件和管理远程服务器。在这个上下文中,...

    CentOS 5.6编译安装Apache2.4.1+MySQL5.5.21+PHP5.3.10

    CentOS 5.6编译安装Apache2.4.1+MySQL5.5.21+PHP5.3.10

    upupw_nginx_php5.6

    而PHP5.6也有性能优化选项,如开启OPCache来缓存编译后的PHP代码。 10. **持续更新**:虽然PHP5.6已经不再接收安全更新,但通过Upupw这样的环境,开发者可以继续使用它,直到迁移至更现代的PHP版本。同时,保持...

    Cent OS 7、Nginx 1.6、PHP 5.6、MySQL 5.6开发环境搭建,源码编译安装_v

    Cent OS 7、Nginx 1.6、PHP 5.6、MySQL 5.6开发环境搭建,源码编译安装_vagrant-lnmp

    zend-loader-php5.6-linux-x86_64.tar.gz

    标题中的"zend-loader-php5.6-linux-x86_64.tar.gz"是一个软件包,主要针对PHP 5.6版本的Linux系统设计。这个包是用tar和gzip压缩工具处理过的,通常在Linux和类UNIX系统中用来打包和压缩多个文件。"zend-loader...

Global site tag (gtag.js) - Google Analytics