CentOS 7.2环境搭建实录(第二章:php安装)

第二章:PHP安装

准备工作

yum -y install epel-release
安装好后可以通过如下命令查看
yum info epel-release
yum repolist

下载PHP

cd /usr/local/src/
wget http://PHP.net/get/PHP-7.2.2.tar.gz/from/this/mirror
tar -zvxf PHP-7.2.2.tar.gz
cd PHP-7.2.2

编译安装PHP

./configure 
--prefix=/usr/local/PHP                    #指定PHP安装目录
--with-config-file-path=/usr/local/PHP/etc #指定PHP配置目录
--with-curl 
--with-freetype-dir 
--with-gd 
--with-gettext 
--with-iconv-dir 
--with-kerberos 
--with-libdir=lib64 
--with-libxml-dir 
--with-MysqLi
--with-openssl 
--with-pcre-regex 
--with-pdo-MysqL 
--with-pdo-sqlite
--with-pear 
--with-png-dir 
--with-xmlrpc 
--with-xsl 
--with-zlib 
--with-mhash 
--with-jpeg-dir 
--enable-fpm 
--enable-bcmath 
--enable-libxml 
--enable-inline-optimization 
--enable-mbregex 
--enable-mbstring 
--enable-opcache 
--enable-pcntl 
--enable-shmop 
--enable-soap 
--enable-sockets 
--enable-sysvsem 
--enable-xml 
--enable-zip 
--enable-ftp 
--enable-intl
--enable-MysqLnd 
--disable-rpath  
--disable-fileinfo

编译结束没问题执行
make && make install

备注1:
新服务器编译安装PHP需要花费很长时间,原因是缺少太多的插件包。
笔者把编译过程中的报错信息和解决方法在最后做了个汇总,基本可以处理80%的报错。
建议大家根据自己PHP编译内容安装对应插件包。

备注2:
512M的服务器安装PHP有可能会报内存不足的错误解决方法如下:
分配内存
mkdir -p /var/cache/swap/
dd if=/dev/zero of=/var/cache/swap/swap0 bs=1M count=512
chmod 0600 /var/cache/swap/swap0
mkswap /var/cache/swap/swap0 
swapon /var/cache/swap/swap0
安装结束后:
删除内存
swapoff /var/cache/swap/swap0
rm -rf /var/cache/swap/swap0

配置PHP

cp PHP.ini-production /usr/local/PHP/etc/PHP.ini
cp sapi/fpm/init.d.PHP-fpm /etc/init.d/PHP-fpm

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

添加环境变量

vi /etc/profile
export PATH=$PATH:/usr/local/PHP/bin:/usr/local/PHP/sbin
source /etc/profile

设置开机启动

chkconfig方法:
chmod +x /etc/init.d/PHP-fpm
chkconfig --add PHP-fpm
chkconfig PHP-fpm on

systemctl方法:
稍后补充

启动PHP

PHP-fpm -t
service PHP-fpm start
ps aux|grep PHP-fpm
执行结果如下图:

NginxPHP结合

还记得第一章里Nginx项目配置目录吗
cd /usr/local/Nginx/conf.d/
touch test.conf
vi test.conf

输入如下内容:
server {
    listen 80;
    server_name 服务器的ip地址;
    root html;
    index index.PHP index.html index.htm;

    location / {
        try_files $uri $uri/ /index.PHP$is_args$query_string;
    }

    location ~ \.PHP$ {
        try_files $uri =404;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.PHP;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

保存退出,进入html目录下
cd /usr/local/Nginx/html/
touch index.PHP
vi index.PHP

输入如下内容
<?PHP
    PHPinfo();
?>

保存退出,重启Nginx,在浏览器中输入服务器ip地址,结果如下图:

检查PHP配置文件路径和重要PHP插件是否安装错误

opcache开启

PHP安装完毕,默认是没有开启opcache配置。
在PHP.ini中添加zend_extension="opcache.so"

保存退出,重启PHP-fpm
PHP -m查看模块信息,刷新浏览器PHP配置页面,结果如下

安装swoole模块

pecl install swoole
在PHP.ini中添加extension = swoole.so

保存退出,重启NginxPHP-fpm
PHP -m查看模块信息,刷新浏览器PHP配置页面,结果如下:

安装redis模块

PHP的redis模块放到后面写完安装redis以后补充上去

PHP安装总结

安装包存放点:/usr/local/src/
PHP配置文件:/usr/local/PHP/etc/PHP-fpm.conf
PHP.ini文件:/usr/local/PHP/etc/PHP.ini
PHP日志文件:/usr/local/PHP/var/log/PHP-fpm.log
PHPpid文件:/usr/local/PHP/var/run/PHP-fpm.pid
PHP启动文件:/usr/local/Nginx/sbin/Nginx

启动PHP
service PHP-fpm start

关闭PHP
service PHP-fpm stop

重启PHP
service PHP-fpm restart

查看模块
PHP -m

其他文章
第一章:环境配置和nginx安装
第三章:mysql安装和postgresql安装
第四章:python环境配置

相关链接
CentOS下编译php时的一些典型错误及解决办法
PHP7.2,PHP7.1性能对比

相关文章

有时候CentOS工作在无互联网的环境下,需要在离线环境下安装一些组件,这次实现的是模拟在离线环境下安...
首先参照https://www.cnblogs.com/wdw984/p/13330074.html,来进行如何安装Centos和离线下载rpm包。 离...
有两个.NET CORE3.1网站部署在CentOS7上(内网IP是192.168.2.32),现在想实现访问http://192.168.2.32...
1、yum -y install vsftpd 安装vsftpd 2、配置vsftpd的配置文件(/etc/vsftpd/vsftpd.conf)主要修改以...
首先去mysql官网下载mysql的离线rpm安装包(https://downloads.mysql.com/archives/community/) Mysql...
第一步下载erlang环境并安装: wget https://packages.erlang-solutions.com/erlang/rpm/centos/7/x86_...