【操作记录】CentOS编译安装php

来源:互联网 发布:西电集团网络商学院 编辑:程序博客网 时间:2024/04/27 15:57

下载

wget http://php.net/distributions/php-5.6.15.tar.gz

解压

tar zxvf php-5.6.15

安装依赖

yum install -y gcc gcc-c++ make automake autoconf libtool pcre pcre-devel openssl openssll-devel libxslt-devel libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel

编译安装

./configure --prefix=/home/server/php \--enable-fpm \--enable-mbstring \--with-mysql=mysqlnd \--with-mysqli=mysqlnd \--with-pdo-mysql=mysqlndmake && make install && make clean

创建配置文件,并复制到正确位置

cp 解压包路径/php.ini-development /home/server/php/php.inicp /home/server/php/etc/php-fpm.conf.default /home/server/php/etc/php-fpm.confcp /home/server/php/sbin/php-fpm /usr/local/bin

添加用户组和用户www

groupadd wwwuseradd -r -g www -s /bin/false www

将php.ini文件中的配置项cgi.fix_pathinfo 设置为 0 。

vi /home/server/php/php.ini

定位到 cgi.fix_pathinfo= 并将其修改为如下所示
cgi.fix_pathinfo=0

在启动服务之前,需要修改 php-fpm.conf 配置文件,确保 php-fpm 模块使用 www 用户和 www用户组的身份运行。

vi /home/server/php/etc/php-fpm.conf# 找到以下内容并修改:; Unix user/group of processes; Note: The user is mandatory. If the group is not set, the default user's group;       will be used.user = wwwgroup = www# 保存修改,并退出编辑:wq# 然后启动php-fpm服务/usr/local/bin/php-fpm

在/etc/init.d编写php-fpm脚本

vi /etc/init.d/php-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# php程序根目录PHP_PATH=/home/server/phpphp_fpm_BIN=/usr/local/bin/php-fpmphp_fpm_CONF=$PHP_PATH/etc/php-fpm.confphp_fpm_PID=$PHP_PATH/etc/run/php-fpm.pidphp_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

添加执行权限

chmod +x /etc/init.d/php-fpm

添加php-fpm到服务

chkconfig --add php-fpm

开启服务

/etc/init.d/php-fpm start

开机自启

chkconfig php-fpm on

配置nginx以支持php应用

# 修改nginx配置文件,因为之前已经创建独立的网站配置文件localhost.confvi /home/server/nginx/conf/vhosts/localhost.conflocation / {    # 网站根目录    root   /home/webroot/localhost;    # 默认文档    index  index.php index.html index.htm;}# 添加对php文档的支持location ~ \.php$ {    root           /home/webroot/localhost;    fastcgi_pass   127.0.0.1:9000;    fastcgi_index  index.php;    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;    include        fastcgi_params;}
0 0
原创粉丝点击