温馨提示×

ubuntu php配置出错咋办

小樊
33
2026-08-24 14:00:05
栏目: 编程语言

在 Ubuntu 上配置 PHP 出错很常见,原因也很多。下面我按最常见场景给你一个排查 + 解决思路,你可以对照着一步步来。如果你愿意,也可以把具体报错信息贴出来,我可以更精准地帮你。


一、先确认基础环境

1️⃣ 查看 Ubuntu 版本

lsb_release -a

2️⃣ 查看 PHP 是否已安装

php -v

如果没安装:

sudo apt update
sudo apt install php

二、常见错误 & 解决方案

✅ 1. PHP 安装后 Apache/Nginx 不解析 PHP

✅ Apache 情况

sudo apt install libapache2-mod-php
sudo systemctl restart apache2

测试:

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

浏览器访问:

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

✅ Nginx 情况

Nginx 不能直接解析 PHP,需要 PHP-FPM。

sudo apt install php-fpm

查看 PHP-FPM 版本:

php -v
# 例如 php8.1-fpm

修改 nginx 配置(示例):

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

重启:

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

✅ 2. 修改 php.ini 不生效

找到 php.ini 路径

php --ini

或:

php -i | grep "Loaded Configuration File"

修改后必须重启服务

  • Apache:
sudo systemctl restart apache2
  • Nginx:
sudo systemctl restart php-fpm

✅ 3. 权限问题(最常见)

网站目录权限

sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html

✅ 4. 端口 / 服务未启动

sudo systemctl status apache2
sudo systemctl status nginx
sudo systemctl status php8.1-fpm

如果失败:

sudo journalctl -xe
sudo tail -n 50 /var/log/apache2/error.log
sudo tail -n 50 /var/log/nginx/error.log

✅ 5. 安装扩展失败

例如:

sudo apt install php-mysql php-curl php-mbstring php-xml

然后重启服务。


三、快速自检清单 ✅

✅ PHP 是否安装
✅ Web 服务是否运行
✅ PHP 与 Web 服务是否关联
✅ php.ini 是否正确
✅ 权限是否正确
✅ 日志有没有报错


四、你可以直接这样问我(更快)

你可以直接发我:

1️⃣ 报错截图或文字
2️⃣ 用的 Apache 还是 Nginx
3️⃣ Ubuntu 版本
4️⃣ PHP 版本
5️⃣ 想实现什么(比如:访问 PHP 页面 / 连接 MySQL / 配 Laravel)

我可以一步一步带你修 ✅

0