当前位置:首页 > Linux > 正文

如何在linux安装php

在Linux中安装PHP:Ubuntu/Debian运行 sudo apt update && sudo apt install php;CentOS/RHEL执行 sudo yum install php或 sudo dnf install php,安装后重启Web服务

以下是针对 “如何在 Linux 安装 PHP” 的完整操作指南,包含主流发行版(Ubuntu/Debian、CentOS/RHEL)的详细步骤、源码编译方案、扩展管理及常见问题解答:


前置准备

无论采用何种方式安装 PHP,均需满足以下条件:

| 项目 | 说明 |

|———————|——————————————————————–|

| 操作系统 | Ubuntu 20.04+ / Debian 11+

OR CentOS 7/8 / RHEL 8+ |

| 网络连接 | 确保可访问互联网以下载软件包 |

| sudo 权限 | 非 root 用户需具备 sudo 执行权 |

| 目标用途 | Web 开发环境 → 推荐 LAMP/LEMP 栈;命令行脚本 → 仅需基础环境 |


通过包管理器安装(推荐)

适用于 Ubuntu/Debian 系统

# 1. 更新软件源索引 sudo apt update && sudo apt upgrade -y # 2. 安装默认 PHP 及常用组件 (PHP 8.1) sudo apt install -y php libapache2-mod-php php-mysql php-cli php-gd php-mbstring php-xml php-curl # 3. 可选:安装最新稳定版 PHP (Ondrej PPA) sudo add-apt-repository ppa:ondrej/php -y sudo apt update sudo apt install -y php8.3 libapache2-mod-php8.3 # 4. 重启 Apache 生效 sudo systemctl restart apache2

关键目录说明

如何在linux安装php 第1张

  • /etc/php/{version}/ → 全局配置文件目录
  • /var/www/html/ → 默认 Web 根目录
  • /usr/bin/php → CLI 入口文件

适用于 CentOS/RHEL 系统

# 1. 启用 EPEL 和 Remi 仓库 sudo dnf install -y epel-release https://rpms.remirepo.net/enterprise/remi-release-$(rpm -E %centos_ver).rpm # 2. 重置并启用 PHP 8.3 模块 sudo dnf module reset php -y sudo dnf module enable php:remi-8.3 -y # 3. 安装 PHP 及相关组件 sudo dnf install -y php php-mysqlnd php-gd php-mbstring php-xml php-opcache php-pecl-apcu # 4. 重启 HTTPD 服务 sudo systemctl restart httpd

注意:CentOS 8+ 使用 httpd 而非 apache2,且默认禁用静态模块需手动加载。


源码编译安装(高级用法)

此方法适合需要自定义参数或支持特殊架构的场景:

如何在linux安装php 第2张

优势:完全掌控编译选项,可剔除无用模块减少内存占用。


常用 PHP 扩展安装对照表

功能类别 Ubuntu/Debian 包名 CentOS/RHEL 包名 用途说明
JSON php-json php-json JSON 数据处理
cURL php-curl php-curl HTTP/HTTPS 请求
ImageMagick php-imagick php-pecl-imagick 图像处理
Memcached php-memcached php-pecl-memcached 分布式缓存
Redis php-redis php-pecl-redis NoSQL 数据库交互
Yarn (Composer) composer (全局安装) php-pecl-yaml + Composer自签 PHP 包管理工具

安装示例

# Ubuntu/Debian sudo apt install -y php-redis php-mongodb # CentOS/RHEL sudo dnf install -y php-pecl-redis php-pecl-mongodb


配置与验证

修改 php.ini

主配置文件路径:

如何在linux安装php 第3张

  • Ubuntu: /etc/php/{version}/cli/php.ini (CLI) / apache2/php.ini (Web)
  • CentOS: /etc/opt/remi/php{version}/php.ini

典型优化项

memory_limit = 256M # 脚本最大内存限制 upload_max_filesize = 100M # 上传文件上限 post_max_size = 100M # POST 数据上限 max_execution_time = 300 # 脚本超时时间(秒)

验证安装

# 查看版本信息 php -v # 输出示例:PHP 8.3.12 (cli) (built: Jul 15 2024 ...) # 创建 info.php 测试文件 echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php > /dev/null # 浏览器访问 http://your_server_ip/info.php


相关问答 FAQs

Q1: 如何在同一台服务器上运行多个 PHP 版本?

A: 使用 update-alternatives 管理多版本:

# Ubuntu/Debian sudo update-alternatives --config php # 设置默认 CLI 版本 sudo a2dismod php8.1 && sudo a2enmod php8.3 # 切换 Apache 使用的 PHP FPM 版本 # CentOS/RHEL sudo alternatives --config php # 图形化选择默认版本 sudo alternatives --set php /usr/bin/php83 # 命令行强制设置

注意:每次切换后需重启 Web 服务器。

Q2: 安装 PHP 后无法解析 .php 文件怎么办?

A: 此问题通常由 Web 服务器未正确加载 PHP 模块导致:

  1. Apache 用户:检查是否启用了 mod_php 或 libapache2-mod-php 模块,并确认 DirectoryIndex 包含 index.php。
  2. Nginx 用户:需手动配置 FastCGI 代理,示例配置片段: location ~ .php$ { include fastcgi_params; fastcgi_pass unix:/var/run/php/php8.3-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }
  3. 通用排查:检查错误日志(/var/log/apache2/error.log 或 /var/log/nginx/error.log),常见错误包括权限不足或路径

0