温馨提示×

ubuntu php配置为何失败

小樊
34
2026-09-01 11:47:26
栏目: 编程语言

Ubuntu 上 PHP 配置“失败”是一个比较笼统的问题,通常不是 PHP 本身坏了,而是某个环节(安装、模块、Web 服务器、权限、配置语法)出问题了。下面我按最常见原因 → 排查方法 → 解决方式给你系统梳理一遍。


一、先确认你说的“配置失败”是哪一种

请对照一下,你属于哪种情况:

  1. PHP 没装成功
    • php -v 报错:command not found
  2. Apache / Nginx 不解析 PHP
    • 浏览器直接下载 .php 文件
    • 页面显示 PHP 源码
  3. php.ini 修改不生效
    • 改了 upload_max_filesize 没变化
  4. 扩展装了但用不了
    • Call to undefined function
  5. 服务启动失败
    • systemctl restart apache2/nginx 报错

二、最常见失败原因与解决办法

1️⃣ PHP 没安装或版本错

php -v

如果没装:

sudo apt update
sudo apt install php

如果你用的是 Apache

sudo apt install libapache2-mod-php

如果你用的是 Nginx

sudo apt install php-fpm

✅ 检查:

php -v

2️⃣ Apache 不解析 PHP(非常常见)

症状

  • 访问 info.php 显示源码
  • 或浏览器下载文件

解决

sudo a2enmod php
sudo systemctl restart apache2

确认:

ls /etc/apache2/mods-enabled | grep php

3️⃣ Nginx 没配置 PHP-FPM

典型错误配置

location ~ \.php$ {
    # 缺少 fastcgi 配置
}

正确示例

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

然后:

sudo systemctl restart nginx php-fpm

4️⃣ php.ini 改了不生效(90% 新手踩坑)

找错 php.ini

php --ini

CLI 和 Web 用的 不是同一个文件

  • CLI:/etc/php/X.X/cli/php.ini
  • Apache:/etc/php/X.X/apache2/php.ini
  • Nginx:/etc/php/X.X/fpm/php.ini

✅ 改完必须重启:

sudo systemctl restart apache2
# 或
sudo systemctl restart php-fpm

5️⃣ PHP 扩展没启用

php -m | grep 扩展名

安装示例:

sudo apt install php-mysql
sudo systemctl restart apache2

6️⃣ 权限问题(很隐蔽)

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

7️⃣ 配置文件语法错误

sudo apachectl configtest
sudo nginx -t

三、快速自检清单 ✅

php -v
php --ini
systemctl status apache2
systemctl status php-fpm

四、如果你愿意,我可以精准帮你

你可以直接贴出:

  1. Ubuntu 版本(lsb_release -a
  2. PHP 版本
  3. 用的 Web 服务(Apache / Nginx)
  4. 具体报错信息或截图

我可以直接告诉你哪一行配置错了、怎么改

0