前言: centos7 为安装新服务器安装php环境支撑,为部署Nagios做准备;
操作:如果安装有其它版本的PHP,需要卸载已有的PHP,重新安装,卸载PHP的方法是删除php的rpm安装包,使用下面命令查看已安装的rpm软件包:
rpm -qa | grep php
rpm -e xxx #xxx指的是rpm包名,提示Failed 可以尝试替换下先后顺序
#安装PHP需要的依赖(切换到root用户)
yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
#我又补安装了一遍相关依赖的环境变量,因为出现了error。
yum install -y make cmake gcc gcc-c++ autoconf automake libpng-devel libjpeg-devel zlib libxml2-devel ncurses-devel bison libtool-ltdl-devel libiconv libmcrypt mhash mcrypt pcre-devel openssl-devel freetype-devel libcurl-devel
cd /usr/local/
wget http://cn2.php.net/distributions/php-5.6.6.tar.gz #如果安装其它版本则下载对应包
#wget https://www.php.net/distributions/php-7.3.5.tar.gz
tar -zxvf php-5.6.6.tar.gz
mv php-5.6.6 /usr/local/
cd /usr/local/php-5.6.6/
#执行如下命令:
./configure --prefix=/usr/local/php --with-mysql --with-mysqli --with-pdo_mysql --with-iconv-dir --with-zlib --with-libxml-dir --enable-xml --with-curl --enable-fpm --enable-mbstring --with-gd --with-openssl --with-mhash --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-freetype-dir=/usr/lib64
make
make install
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
#编辑 php-fpm.conf
#找到以下配置项,把前边的注释符号去掉,没有则自己个儿添加一个
pid = run/php-fpm.pid
#配置php.ini文件与环境变量
#在之前编译的源码包中,找到 php.ini-production,复制到/usr/local/php/etc下,并改名为php.ini
cp php.ini-production /usr/local/php/etc/php.ini
#添加php安装目录到系统环境变量
#创建并打开文件php.sh
vim /etc/profile.d/php.sh
#添加如下内容:
export PATH=$PATH:/usr/local/php/bin/:/usr/local/php/sbin/
#保存并退出
:wq
#配置php-fpm服务
#将php源码编译目录下的 sapi/fpm/init.d.php-fpm 文件拷贝到系统配置 /etc/init.d 目录下并重命名为 php-fpm
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod 777 /etc/init.d/php-fpm
#将php安装目录下的 /usr/local/php/etc/php-fpm.conf.default 文件拷贝同目录下并重命名为 php-fpm.conf
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
#查看php-fpm服务的状态:systemctl staus php-fpm;
systemctl staus php-fpm; # 起
systemctl staus php-fpm; # 停
#让nginx 支持php,找到nginx.conf 我采用的离线安装nginx 我的位置 /usr/local/nginx/conf/nginx.conf
#在 server{}代码段里新增以下代码就可以支持 php 的访问了
location ~ \.php {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
#找到nginx 的访问目录,默认是叫html的一个文件夹,建立test.php
#打开浏览器访问 http://127.0.0.1:70/test.php