温馨提示×

如何设置Ubuntu的PHP

小樊
41
2026-08-12 13:55:19
栏目: 编程语言

下面按常见场景给你一个完整、实用的 Ubuntu 下 PHP 设置教程(以 Ubuntu 20.04 / 22.04 为例,PHP 8.x)。


一、安装 PHP(最常见方式)

1️⃣ 更新软件源

sudo apt update
sudo apt upgrade -y

2️⃣ 安装 PHP(CLI + 常用扩展)

sudo apt install php php-cli php-fpm php-mysql php-curl php-mbstring php-xml php-zip php-gd -y

检查版本:

php -v

二、设置 PHP-FPM(用于 Nginx)

如果你用的是 Nginx,必须配置 PHP-FPM。

1️⃣ 启动并设置开机自启

sudo systemctl start php8.1-fpm
sudo systemctl enable php8.1-fpm

⚠️ 版本号可能不同,可用:

php -v
ls /etc/php/

2️⃣ 查看 PHP-FPM 状态

systemctl status php8.1-fpm

三、配置 PHP(php.ini)

1️⃣ 找到 php.ini 文件

php --ini

常见路径:

/etc/php/8.1/cli/php.ini      # 命令行
/etc/php/8.1/fpm/php.ini      # Web(Nginx/Apache)

2️⃣ 编辑 php.ini

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

四、Nginx 中配置 PHP(示例)

server {
    listen 80;
    server_name example.com;
    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 systemctl restart nginx

五、Apache 中设置 PHP(如果你用 Apache)

1️⃣ 安装 Apache 模块

sudo apt install libapache2-mod-php

2️⃣ 启用 PHP

sudo a2enmod php8.1
sudo systemctl restart apache2

六、测试 PHP 是否正常工作

创建测试文件:

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

浏览器访问:

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

✅ 看到 PHP 信息页面说明成功。


七、常见问题排查

❌ 502 Bad Gateway

  • PHP-FPM 没启动
  • Nginx socket 路径错误

检查:

ls /run/php/

❌ 修改 php.ini 不生效

  • 改错文件(CLI 和 FPM 是分开的)
  • 忘记重启 PHP-FPM

八、多版本 PHP 共存(进阶)

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.2 php8.2-fpm

切换版本:

sudo update-alternatives --config php

如果你愿意,可以告诉我:

  • ✅ Ubuntu 版本
  • ✅ 用 Nginx 还是 Apache
  • ✅ 是本地开发还是服务器
  • ✅ 是否用于 Laravel / WordPress / ThinkPHP

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

0