温馨提示×

Ubuntu怎么配置PHP模块

小樊
43
2026-09-04 13:23:36
栏目: 编程语言

在 Ubuntu 上“配置 PHP 模块”通常包含两部分:

  1. 安装 PHP 及相应模块(扩展)
  2. 启用 / 禁用 / 配置 PHP 模块(针对 CLI 或 Web 服务器如 Apache / Nginx)

下面按常见场景说明。


一、安装 PHP 及模块

1. 更新系统

sudo apt update
sudo apt upgrade

2. 安装 PHP(以 PHP 8.1 为例)

sudo apt install php8.1

3. 安装常用 PHP 模块

sudo apt install php8.1-common php8.1-cli php8.1-fpm \
php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring \
php8.1-xml php8.1-zip php8.1-bcmath

模块名格式通常是:php<版本>-<模块名>


二、查看已安装的 PHP 模块

CLI 下查看

php -m

查看某个模块是否安装

php -i | grep <模块名>
# 例如
php -i | grep curl

三、启用 / 禁用 PHP 模块(php.ini 层面)

1. 找到 php.ini 文件

php --ini

常见路径:

  • CLI:/etc/php/8.1/cli/php.ini
  • Apache:/etc/php/8.1/apache2/php.ini
  • FPM:/etc/php/8.1/fpm/php.ini

2. 启用扩展(例如 mbstring)

编辑 php.ini:

extension=mbstring

如果文件已存在但被注释:

;extension=mbstring

改为:

extension=mbstring

四、使用 phpenmod / phpdisable(推荐方式)

Ubuntu 提供了专门命令管理模块。

启用模块

sudo phpenmod -v 8.1 -s cli mbstring

禁用模块

sudo phpdisable -v 8.1 -s cli mbstring

对所有 SAPI 启用

sudo phpenmod mbstring

五、Web 服务器相关配置

1. Apache + PHP

sudo apt install libapache2-mod-php8.1
sudo a2enmod php8.1
sudo systemctl restart apache2

2. Nginx + PHP-FPM

sudo systemctl restart php8.1-fpm
sudo systemctl restart nginx

Nginx 站点配置中需包含:

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

六、验证 PHP 模块是否生效

php -m | grep <模块名>

或创建 phpinfo.php:

<?php phpinfo(); ?>

访问页面查看模块列表。


七、常见问题

修改后不生效?

  • CLI 和 Web 使用不同 php.ini
  • 未重启 Web 服务
  • 模块未安装(只有配置没用)

如果你能告诉我:

  • Ubuntu 版本
  • PHP 版本
  • 使用 Apache 还是 Nginx
  • 具体想配置哪个模块(如 mysqli、redis、gd)

我可以给你更精确的配置命令。

0 踩