第二章: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和php结合
还记得第一章里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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。