插件窝 干货文章 如何在Linux上安装和配置PHP

如何在Linux上安装和配置PHP

PHP 配置 sudo 安装 311    来源:    2025-04-15

在Linux上安装和配置PHP的完整指南

1. 安装PHP

根据不同的Linux发行版,安装方法有所不同:

Ubuntu/Debian系统

# 更新软件包列表
sudo apt update

# 安装PHP(最新稳定版)
sudo apt install php

# 安装PHP扩展(常用扩展)
sudo apt install php-cli php-fpm php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath

# 检查PHP版本
php -v

CentOS/RHEL系统

# 添加EPEL和Remi仓库(CentOS/RHEL 7/8)
sudo yum install epel-release
sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm

# 启用Remi仓库中的PHP模块
sudo yum module enable php:remi-8.1  # 替换为您需要的PHP版本

# 安装PHP
sudo yum install php php-cli php-fpm php-mysqlnd php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath

# 检查PHP版本
php -v

2. 配置PHP

主要配置文件位置

  • php.ini (主配置文件):
    • Ubuntu/Debian: /etc/php/[version]/cli/php.ini (命令行) 和 /etc/php/[version]/fpm/php.ini (FPM)
    • CentOS/RHEL: /etc/php.ini

常用配置调整

编辑php.ini文件:

sudo nano /etc/php/[version]/fpm/php.ini

推荐修改的配置项:

; 调整内存限制
memory_limit = 256M

; 上传文件大小限制
upload_max_filesize = 64M
post_max_size = 64M

; 最大执行时间
max_execution_time = 300

; 时区设置
date.timezone = "Asia/Shanghai"

; 错误报告设置(生产环境建议关闭错误显示)
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log

3. PHP-FPM配置(用于Web服务器)

配置PHP-FPM

配置文件通常位于: - Ubuntu/Debian: /etc/php/[version]/fpm/pool.d/www.conf - CentOS/RHEL: /etc/php-fpm.d/www.conf

常见调整:

; 进程管理设置
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10

; 监听设置
listen = /run/php/php8.1-fpm.sock  # 或 127.0.0.1:9000

; 用户/组设置
user = www-data
group = www-data

重启PHP-FPM

sudo systemctl restart php8.1-fpm  # 根据您的PHP版本调整

4. 与Web服务器集成

与Nginx集成

在Nginx配置文件中添加:

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    # 或 fastcgi_pass 127.0.0.1:9000;
}

与Apache集成

# 安装Apache PHP模块
sudo apt install libapache2-mod-php  # Ubuntu/Debian
sudo yum install php  # CentOS/RHEL

# 启用模块
sudo a2enmod php8.1  # Ubuntu/Debian

5. 测试PHP安装

创建测试文件:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

然后在浏览器中访问 http://your-server-ip/info.php 查看PHP信息页面。

6. 安全建议

  1. 生产环境中删除或限制访问phpinfo页面
  2. 禁用危险函数: ini disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
  3. 限制PHP文件访问目录: ini open_basedir = /var/www/html:/tmp
  4. 定期更新PHP到最新稳定版本

7. 常见问题解决

问题1: PHP扩展未加载 - 解决方案:确保已安装扩展并启用,例如: bash sudo phpenmod mbstring # Ubuntu/Debian

问题2: 修改php.ini后未生效 - 解决方案:重启PHP-FPM或Web服务器 bash sudo systemctl restart php8.1-fpm sudo systemctl restart nginx # 或 apache2/httpd

问题3: 内存不足错误 - 解决方案:增加memory_limit值或优化代码

通过以上步骤,您应该能够在Linux系统上成功安装和配置PHP环境。根据您的具体需求,可能还需要安装其他PHP扩展或进行额外的配置调整。