centos7 编译安装lnmp(1) 编译php5.6
- 原创
- |
- 浏览:920
- |
- 更新:
有时候需要使用特定的php版本,我们就可以使用源代码编译,我一直使用phpStudy集成环境,自己在安装php源码是遇到很多错误,遇到错误的时候不要慌,根据错误百度下就好,一般都是php需要的软件没安装,安装了就好了
方法/步骤
下载源码
1. 打开php.net官网下载php 5.6.31源码
2. 执行命令: wget http://cn2.php.net/distributions/php-5.6.31.tar.gz
3. 解压php源码: tar zxvf php-5.6.31.tar.gz
4. 进入解压源码目录: cd php-5.6.31
安装php需要的软件
yum install -y gcc gcc-c++ libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel curl curl-devel libxslt-devel openssl-devel
注意如果软件包安装了就从安装列表去掉
编译(安装)配置
在php-5.6.31目录执行以下命令(安装php到/usr/local/php目录):
./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysql --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-sockets --enable-sysvsem --enable-xml --enable-zip
如果这步出错,就按照错误百度一步步解决(一般都是缺少相应的软件包造成的错误)
编译php源码
编译源码只需要执行命令: make
- 该信息未经许可获取自百度经验
安装php源码
安装源码只需要执行命令: make install
复制php配置到安装php安装目录
1. 复制php.ini命令: cp php.ini-development /usr/local/php/lib/php.ini
2. 复制php-fmp配置命令: cp ./sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf
3. 查看php是否安装成功: /usr/local/php/bin/php --version
显示php版本就安装成功了
php5.6.31就编译安装完了
fpm路径: /usr/local/php/sbin/php-fpm
fpc配置路径: /usr/local/php/etc/php-fpm.conf
php.ini路径: /usr/local/php/lib/php.ini
php常用命令
1. 查看php版本: /usr/local/php/bin/php -v
2. 查看phpinfo: /usr/local/php/bin/php -i
3. 查看php编译模块: /usr/local/php/bin/php -m
4. 查看php.ini配置文件路径和目录: /usr/local/php/bin/php --ini
php-fpm常用命令
查看php-fpm占用端口号: ps -ef | grep php-fpm
1. 配置php-fmp: vi /usr/local/php/etc/php-fpm.conf
修改
user = nobody
group = nobody
改为
user = www
group = www
如果www用户不存在,那么先添加www用户
groupadd www # 新增用户组
useradd -g www www # 新增用户并设置用户组
2. 使用信号管理php-fpm
INT, TERM 立刻终止
QUIT 平滑终止
USR1 重新打开日志文件
USR2 平滑重载所有worker进程并重新载入配置和二进制模块
示例:
1. 启动服务:
/usr/local/php/sbin/php-fpm
指定配置路径启动服务
/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf
2. 平滑重启服务(会重启加载配置):
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`
3. 重新打开日志文件:
kill -USR1 `cat /usr/local/php/var/run/php-fpm.pid`
4. 停止服务:
kill -INT `cat /usr/local/php/var/run/php-fpm.pid`
5. 平滑停止服务:
kill -QUIT `cat /usr/local/php/var/run/php-fpm.pid`
6. 测试php-fpm配置
/usr/local/php/sbin/php-fpm -t
/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini -y /usr/local/php/etc/php-fpm.conf -t
END
















