详谈CentOS系统中安装PHP的方法
原创CentOS系统中安装PHP的方法
PHP是一种流行的服务器端脚本语言,它广泛应用于Web开发中。在CentOS系统中安装PHP,可以帮助您迅速搭建一个PHP环境,以便进行Web开发。本文将详细介绍在CentOS系统中安装PHP的方法。
一、准备环境
在起初安装PHP之前,请确保您的CentOS系统满足以下条件:
1. 系统已安装Apache或Nginx服务器。
2. 已安装MySQL或MariaDB数据库(可选,如果需要使用PHP的数据库扩展)。
3. 已安装GCC编译器(用于编译PHP扩展)。
二、安装PHP
在CentOS系统中,可以使用多种方法安装PHP,以下是几种常见的方法:
1. 使用Yum安装
CentOS官方仓库中包含了PHP的Yum包,您可以通过以下步骤安装PHP:
1. 打开终端。
2. 输入以下命令,添加PHP Yum仓库:
bash
sudo yum install epel-release
3. 输入以下命令,安装PHP:
bash
sudo yum install php
4. 安装PHP后,可以使用以下命令查看已安装的PHP版本:
bash
php -v
2. 使用源码安装
如果您需要安装特定版本的PHP或使用某些未包含在官方仓库中的扩展,可以使用源码安装PHP。
1. 下载PHP源码:
bash
wget http://www.php.net/distributions/php-7.4.30.tar.gz
2. 解压源码:
bash
tar -zxvf php-7.4.30.tar.gz
3. 进入源码目录:
bash
cd php-7.4.30
4. 配置PHP安装:
bash
./configure --prefix=/usr/local/php --enable-fpm --with-apxs2=/usr/sbin/apache2ctl --with-mysql --with-mysqli=/usr/bin/mysql_config --with-pdo-mysql --with-openssl --with-zlib --with-bz2 --with-curl --with-gd --with-xmlrpc --with-xsl --enable-ftp --enable-bcmath --enable-json --enable-zip
请依您的需求修改配置参数。
5. 编译并安装PHP:
bash
make
sudo make install
6. 安装PHP-FPM:
bash
cd /usr/local/php
sudo make install-fpm
7. 查看PHP版本:
bash
php -v
三、配置Apache或Nginx与PHP-FPM
在安装PHP之后,需要配置Apache或Nginx与PHP-FPM进行交互。
1. 配置Apache与PHP-FPM
1. 修改Apache配置文件:
bash
sudo nano /etc/httpd/conf/httpd.conf
2. 在配置文件中,找到以下行并取消注释:
apache
LoadModule php7_module modules/libphp7.so
3. 在配置文件中添加以下行:
apache
AddType application/x-httpd-php .php
4. 修改虚拟主机配置文件:
bash
sudo nano /etc/httpd/conf.d/your-vhost.conf
5. 在虚拟主机配置文件中,添加以下行:
apache
DirectoryIndex index.php index.html index.htm
6. 重启Apache服务:
bash
sudo systemctl restart httpd
2. 配置Nginx与PHP-FPM
1. 修改Nginx配置文件:
bash
sudo nano /etc/nginx/nginx.conf
2. 在配置文件中,找到以下行并取消注释:
nginx
include /etc/nginx/fastcgi_params;
3. 在配置文件中添加以下行:
nginx
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
4. 重启Nginx服务:
bash
sudo systemctl restart nginx