本文提供两种方法的PHP的安装,因为当前大部分人用的都是PHP7.2版本,所以用来作为示例,
- 方法一 :可自选版本
- 方法二 :直接就是7.2(推荐)
方法一
获取rpm源
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
查看全部版本
sudo yum list php*
4 到7.4都有,7.2版本的叫法为phph72w
安装
sudo yum -y install php72w
安装拓展包
yum -y install php72w-cli php72w-common php72w-devel php72w-mysql
查看版本
php -v
方法二
安装 EPEL 软件包
sudo yum install epel-release
安装 remi 源
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
安装 yum 扩展包
sudo yum install yum-utils
启用 remi 仓库
sudo yum-config-manager --enable remi-php72 $ sudo yum update
安装 PHP72
sudo yum install php72
PHP安装目录
/etc/opt/remi/php72
/etc/opt/remi/php72/php.ini
安装 php-fpm 和一些其他常用模块
sudo yum install php72-php-fpm php72-php-gd php72-php-json php72-php-mbstring php72-php-mysqlnd php72-php-xml php72-php-xmlrpc php72-php-opcache
设置开机自启
sudo systemctl enable php72-php-fpm.service
以下通用,注意php的安装目录和php的名称即可(选择对应的php,如安装的php为全局变量直接把下文中php72改为php即可)
使用Apache
#安装
yum install httpd httpd-devel
#启动
/etc/init.d/httpd start
#设置Apache的httpd服务开机启动
chkconfig httpd on
默认目录为
/var/www/html/
PHP文件放至此目录即可
使用nginx的配置
listen 80;
server_name localhost;
index index.html index.htm index.php;
root /usr/data/www;
#伪静态
location /{
index index.php;
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
break;
}
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ .*\.(js|css)?$
{
#缓存12天
expires 12d;
}
location ~ /\.{
#禁止访问
deny all;
}
关于nginx配置优化(使用php-cgi.sock提高速度)
为什么要用unix:/tmp/php-cgi.sock
最主要的特征就是unix socket比tcp快,当网站流量大的时候,服务器的优化是分毫必争的.
当我们用php-fpm来管理我们的php启动时,按照如下的配置,就会自动生成/tmp/php-cgi.sock。
在php-fpm.conf文件中设置 //在php文件下
[www]
listen = /tmp/php-cgi.sock
修改nginx.conf
将
fastcgi_pass 127.0.0.1:9000;
改为:
fastcgi_pass unix:/tmp/php-cgi.sock;
重启php-fpm和nginx
如果是安装的php将下文php72-php-fpm.servic
改为php-fpm.service
即可
### 常用 php-fpm 命令
#### 开启服务
sudo systemctl start php72-php-fpm.service
#### 停止服务
sudo systemctl stop php72-php-fpm.service
#### 查看状态
sudo systemctl status php72-php-fpm.service
#### 重启FPM
sudo systemctl restart php72-php-fpm.service
或者用service命令:
service php72-php-fpm start
service php72-php-fpm stop
service php72-php-fpm restart
service php72-php-fpm reload
PHP搜索拓展
yum search mysql php72
安装拓展
yum install php72-php-pecl-mysql.x86_64