温馨提示×

为什么ubuntu php无法加载

小樊
35
2026-10-16 03:44:48
栏目: 编程语言

“Ubuntu 下 PHP 无法加载”是一个比较笼统的问题,通常可分为**Web 场景(Apache/Nginx)和命令行(CLI)**两种情况。下面按常见原因逐一说明,并给出排查与解决办法。


一、常见原因分类

1. PHP 未安装或装错版本

php -v
  • 若提示 command not found → 没装 PHP
  • 若版本不是你预期的 → 多版本冲突

安装示例:

sudo apt update
sudo apt install php php-cli

2. Web 服务器未加载 PHP 模块

Apache 情况

PHP 没被 Apache 加载:

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

验证:

apache2ctl -M | grep php

Nginx 情况

Nginx 本身不解析 PHP,必须配合 php-fpm:

sudo apt install php-fpm

/etc/nginx/sites-enabled/default 中需有:

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

重启:

sudo systemctl restart nginx php-fpm

3. PHP 文件被当作文本下载(不解析)

典型表现:

  • 打开 .php 页面直接下载
  • 页面显示 PHP 源码

原因:

  • Apache 没加载 PHP
  • Nginx 没配置 fastcgi

4. PHP 扩展未加载

php -m

若缺少某个扩展:

sudo apt install php-mysql php-curl
sudo systemctl restart apache2 / php-fpm

5. php.ini 配置错误

错误配置会导致 PHP 启动失败:

php --ini

检查:

sudo php-fpm -t

6. 多 PHP 版本冲突

Ubuntu 可能同时有:

  • php7.4
  • php8.1
  • php8.2

切换:

sudo update-alternatives --config php

二、快速排查清单(推荐顺序)

  1. php -v → CLI 是否正常
  2. sudo systemctl status apache2 / nginx / php-fpm
  3. 浏览器访问 .php 是否解析
  4. 看错误日志:
    • Apache: /var/log/apache2/error.log
    • Nginx: /var/log/nginx/error.log
    • PHP-FPM: /var/log/php*-fpm.log

三、如果你能补充信息,我可以更精准帮你

请提供:

  1. Ubuntu 版本
  2. PHP 版本
  3. 用的 Web 服务器(Apache / Nginx)
  4. 具体现象(报错 / 白屏 / 下载 / 源码)

我可以直接给你对应的一步到位命令。

0 踩