温馨提示×

如何在Ubuntu配置PHP

小樊
72
2026-07-01 01:06:36
栏目: 编程语言

在 Ubuntu 上配置 PHP,通常是为了配合 Apache 或 Nginx 使用。下面我按最常见场景给你一个完整、实用的配置流程(以 Ubuntu 20.04 / 22.04 为例,其他版本类似)。


一、更新系统

sudo apt update
sudo apt upgrade -y

二、安装 PHP(指定版本)

1️⃣ 查看可安装版本

apt-cache search php | grep "^php[0-9]"

2️⃣ 安装 PHP(以 PHP 8.1 为例)

sudo apt install php8.1 -y

如果你需要 PHP 8.2 / 8.3,可以:

sudo apt install php8.2

三、安装常用 PHP 扩展(非常重要)

常用扩展

sudo apt install 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-intl php8.1-bcmath -y

✅ 根据项目需要选择,例如:

  • Laravel → mbstring xml curl zip
  • WordPress → mysql gd mbstring xml

四、配置 PHP(php.ini)

1️⃣ 找到 php.ini 位置

php --ini

常见路径:

/etc/php/8.1/cli/php.ini
/etc/php/8.1/fpm/php.ini

2️⃣ 修改常用配置

sudo nano /etc/php/8.1/fpm/php.ini

推荐修改项:

upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 256M
max_execution_time = 300
date.timezone = Asia/Shanghai

保存后重启:

sudo systemctl restart php8.1-fpm

五、配合 Web 服务器

✅ 方案一:PHP + Apache

安装 Apache

sudo apt install apache2 -y

安装 Apache PHP 模块

sudo apt install libapache2-mod-php8.1 -y

重启 Apache

sudo systemctl restart apache2

测试 PHP

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

浏览器访问:

http://服务器IP/info.php

✅ 方案二:PHP + Nginx(推荐生产环境)

安装 Nginx

sudo apt install nginx -y

确保 PHP-FPM 运行中

sudo systemctl status php8.1-fpm

Nginx 配置示例

编辑站点配置:

sudo nano /etc/nginx/sites-available/default

关键配置:

server {
    listen 80;
    server_name your_domain_or_ip;

    root /var/www/html;
    index index.php index.html;

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

重载 Nginx:

sudo nginx -t
sudo systemctl reload nginx

六、设置 PHP 开机启动

sudo systemctl enable php8.1-fpm

七、常见问题排查

PHP 页面不解析

  • Apache:确认 libapache2-mod-php 已安装
  • Nginx:确认 fastcgi_pass 路径正确

502 Bad Gateway(Nginx)

sudo systemctl restart php8.1-fpm

查看 PHP 错误日志

tail -f /var/log/php8.1-fpm.log

八、总结(快速版)

sudo apt update
sudo apt install php8.1 php8.1-fpm php8.1-mysql -y
sudo systemctl restart php8.1-fpm

如果你告诉我:

  • ✅ Ubuntu 版本
  • ✅ Apache 还是 Nginx
  • ✅ 本地 / 云服务器 / Docker
  • ✅ 运行 Laravel / WordPress / ThinkPHP

我可以给你 完全定制化的配置方案。

0 踩