cd php-src,12、3 PHP安装

和LAMP安装PHP有区别,需要开启php-fpm服务。

准备工作

安装包卸载&解压

cd /usr/local/src/

下载安装包:

wget http://cn2.php.net/distributions/php-5.6.30.tar.gz

解压:

tar zxvf php-5.6.30.tar.gz

创建账号

useradd -s /sbin/nologin php-fpm

94e3fce426937168334fdb6d2bbf9ed2.png

说明: 该账号用来运行php-fpm服务,因为在LNMP环境中,PHP是以一种服务的形式独立存在的。

安装php

如果之前安装过PHP,需要清除其原有配置:

cd php-5.6.30

make clean

4cde4a8dd52983aa31047fd3ac4e2de7.png

环境配置

cd php-5.6.30

./configure --prefix=/usr/local/php-fpm --with-config-file-path=/usr/local/php-fpm/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --with-pear --with-curl  --with-openssl

报错:

错误1:

configure: error: xml2-config not found. Please check your libxml2 installation.

解决办法:

yum list |grep libxml2

查找相关库的安装包:

yum list |grep libxml2

选择包进行安装:

yum install -y libxml2 libxml2-devel

aca6b961e6000098179893c86c3ba766.png

错误2:

configure: error: Cannot find OpenSSL's

解决办法:

yum install -y openssl openssl-devel

错误3:

configure: error: Please reinstall the libcurl distribution -

easy.h should be in /include/curl/

解决办法:

yum install -y libcurl libcurl-devel

错误4:

configure: error: jpeglib.h not found.

解决办法:

yum install -y libjpeg libjpeg-turbo-devel

错误5:

configure: error: png.h not found.

解决办法:

yum install -y libpng libpng-devel

错误6:

configure: error: freetype-config not found.

解决办法:

yum install -y freetype freetype-devel

错误7:

configure: error: mcrypt.h not found. Please reinstall libmcrypt.

解决办法:

yum install -y libmcrypt libmcrypt-devel

说明: 每次报错后根据提示查找相应的库的安装包,选择包进行安装,安装完成后重新配置即可!

配置完成后进行检测:

总结一下需要安装的包:

yum install  -y  gcc gcc-c++ libxml2-devel openssl-devel libcurl-devel libjpeg-devel libpng-devel freetype libmcrypt-devel

编译&安装

编译:

make

报错: virtual memory exhausted: Cannot allocate memory #虚拟内存耗尽:无法分配内存

解决办法:

1、停掉虚拟机中未在使用的进程

2、临时增加swap分区内存:

dd if=/dev/zero of=/tmp/newdisk bs=1M count=100  手动创建一个新分区

du -sh /tmp/newdisk

mkswap /tmp/newdisk  格式化该swap分区

free -m

swapon /tmp/newdisk  挂载到原swap分区

free -m

chmod 0600 /tmp/newdisk  更改权限以保安全

待PHP编译完成后要卸载掉该分区

swapoff /tmp/newdisk   卸载分区

ffe28bbbe1cb041de174313655e35f88.png

安装:

make install

php-fpm相关命令:

执行PHP相关命令的两种方式:

方法1:

/usr/local/php-fpm/sbin/php-fpm -m

方法2:

/usr/local/php-fpm/bin/php -m

7490da704ce55bed36d564ae4627d123.png

php-fpm配置文件语法检测:

/usr/local/php-fpm/sbin/php-fpm -t

配置

添加配置文件

将配置文件添加到php-fpm配置文件目录:

cp php.ini-production /usr/local/php-fpm/etc/php.ini

配置文件调试

切换至配置文件所在目录:

cd /usr/local/php-fpm/etc/

手动添加配置文件,写入如下内容:

vim php-fpm.conf

[global]

pid = /usr/local/php-fpm/var/run/php-fpm.pid

error_log = /usr/local/php-fpm/var/log/php-fpm.log

[www]

listen = /tmp/php-fcgi.sock

listen.mode = 666

user = php-fpm

group = php-fpm

pm = dynamic

pm.max_children = 50

pm.start_servers = 20

pm.min_spare_servers = 5

pm.max_spare_servers = 35

pm.max_requests = 500

rlimit_files = 1024

配置启动脚本

切换至文件源目录:

cd /usr/local/src/php-5.6.30

添加启动脚本到系统配置:

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

更改文件权限:

chmod 755 /etc/init.d/php-fpm

添加到系统服务:

chkconfig --add php-fpm

设置开机启动:

chkconfig php-fpm on

启动php-fpm服务:

service php-fpm start

d32506f60c6bfb48d238e61819581deb.png

语法检测正常 /usr/local/php-fpm/sbin/php-fpm -t

408bb6f7daad51e0877cedf2cf8cdf22.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值