第二章: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 执行结果如下图:
还记得第一章里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
保存退出,重启Nginx,PHP-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