linux下php源码安装步骤

一、下载php源码

下载地址:http://cn.php.net/downloads.php


二、安装

1、将下载的二进制包移动到/usr/local目录,解压缩文件包


tar zxvf php-7.1.4.tar.gz


2、进入解压的php文件夹下/usr/local/php-7.1.4,安装依赖,编译安装

yum install  libxml2  libxml2-devel


./configure --prefix=/usr/local/php  --with-zlib --enable-zip --with-openssl --enable-fpm --enable-mbstring --with-libdir=lib64 --without-pear  --disable-phar


make


make test (编译完后可以允许一下make test命令,检测编译是否有问题)


make install


安装完成后的摘要信息:


Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/

Installing PHP CLI binary:        /usr/local/php/bin/

Installing PHP CLI man page:      /usr/local/php/php/man/man1/

Installing PHP FPM binary:        /usr/local/php/sbin/

Installing PHP FPM defconfig:     /usr/local/php/etc/

Installing PHP FPM man page:      /usr/local/php/php/man/man8/

Installing PHP FPM status page:   /usr/local/php/php/php/fpm/

Installing phpdbg binary:         /usr/local/php/bin/

Installing phpdbg man page:       /usr/local/php/php/man/man1/

Installing PHP CGI binary:        /usr/local/php/bin/

Installing PHP CGI man page:      /usr/local/php/php/man/man1/

Installing build environment:     /usr/local/php/lib/php/build/

Installing header files:          /usr/local/php/include/php/

Installing helper programs:       /usr/local/php/bin/

  program: phpize

  program: php-config

Installing man pages:             /usr/local/php/php/man/man1/

  page: phpize.1

  page: php-config.1

Installing PDO headers:           /usr/local/php/include/php/ext/pdo/


3、php配置


#php的配置文件为 php.ini


cp /usr/local/php-7.1.4/php.ini-production   /usr/local/php/lib/php.ini


#使得另一种方法来管理服务:

cp /usr/local/php-7.1.4/sapi/fpm/php-fpm /etc/init.d/php-fpm


#添加执行权限


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


#php-fpm的配置文件


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


cp /usr/local/php/etc/php-fpm.d/www.conf.default   /usr/local/php/etc/php-fpm.d/www.conf


根据机器配置修改php-fpm进程数最大限制,这限制在/usr/local/php/etc/php-fpm.d/www.conf里面

使用 netstat -napo |grep "php-fpm" | wc -l 查看一下当前fastcgi进程个数,如果个数接近conf里配置的上限,就需要调高进程数。

但也不能无休止调高,可以根据服务器内存情况,可以把php-fpm子进程数调到100或以上,在4G内存的服务器上200就可以。

pm.max_children = 200


pm.start_servers = 10


pm.min_spare_servers = 8


pm.max_spare_servers = 12


4、设置环境变量


vi /etc/profile



打开后,在文档最下方添加如下配置:


export PATH=/usr/local/php/bin:$PATH


:wq!保存退出,执行如下命令,使更改生效


source /etc/profile


5、启动php测试


#启动


/etc/init.d/php-fpm 


#测试php


cd /usr/local/nginx/html


vi test.php


添加如下内容:

<?php  

 echo phpinfo();  

?>


:wq!保存退出。


浏览器输入:http://10.62.32.123/test.php


如果出现:PHP Version 7.1.4 界面,显示php详细的配置的界面,说明安装正确


6、php重启、停止


php 7.1.4 源码中已经内嵌了 php-fpm,只需要在configure的时候添加编译参数即可。

关于php-fpm的编译参数有 –enable-fpm –with-fpm-user=www –with-fpm-group=www –with-libevent-dir=libevent位置。

但是,php 7.1.4 下的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,需要使用信号控制:


master进程可以理解以下信号:

SIGINT, SIGTERM 立刻终止  

SIGQUIT 平滑终止  

SIGUSR1 重新打开日志文件  

SIGUSR2 平滑重载所有worker进程并重新载入配置和二进制模块


示例:  

php-fpm 关闭:  

kill -SIGINT `cat /usr/local/php/var/run/php-fpm.pid`  

php-fpm 重启:  

kill -SIGUSR2 `cat /usr/local/php/var/run/php-fpm.pid`


查看php-fpm进程数:

ps aux | grep -c php-fpm

netstat -anpo | grep "php-cgi" | wc -l

netstat -anop | grep "php-fpm" | wc -l


三、附录

php编译选项相关说明:


./configure --prefix=/usr/local/php \ #指定安装目录

--with-config-file-path=/usr/local/php/etc \ #指定配置文件的目录,默认在php/lib下满\

--enable-fpm \启用php的fpm

--enable-mbstring  \ 启用多字节字符串支持

--with-libdir=lib64 \

--without-pear \禁用pear扩展 

--disable-phar \ 禁用pear扩展的phar函数库

--enable-mysqlnd \ 启用php的mysql驱动 

--with-mysqli=mysqlnd \ 指定mysql

--with-pdo-mysql=mysqlnd \指定mysql


猜你喜欢

转载自blog.51cto.com/13293070/2287908