温馨提示×

centos为何运行不了laravel

小樊
32
2026-08-03 10:28:30
栏目: 智能运维

CentOS 运行不了 Laravel 通常不是“系统不支持”,而是环境配置或版本不匹配导致的。下面按最常见原因 → 排查方法 → 解决方案给你系统梳理一下。


一、最常见原因汇总(90% 都在这里)

1️⃣ PHP 版本太低(最常见)

Laravel 对 PHP 版本要求很严格:

Laravel 版本 最低 PHP
Laravel 8 PHP 7.3+
Laravel 9 PHP 8.0+
Laravel 10 PHP 8.1+
Laravel 11 PHP 8.2+

CentOS 7 默认 PHP 只有 5.4,根本跑不了 Laravel。

检查:

php -v

解决: 安装高版本 PHP(推荐 Remi 源):

yum install epel-release -y
yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y

yum-config-manager --enable remi-php81
yum install php php-cli php-fpm php-mysql php-mbstring php-xml php-curl php-zip -y

2️⃣ 没装 Composer / Composer 版本问题

Laravel 必须用 Composer。

检查:

composer -V

没有就装:

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer

⚠️ 注意:

  • Composer 2.x 需要 PHP ≥ 7.2
  • PHP 太低会直接失败

3️⃣ 目录权限问题(非常常见)

Laravel 需要写 storagebootstrap/cache

错误示例:

The stream or file could not be opened

解决:

chown -R nginx:nginx /var/www/laravel
chmod -R 755 /var/www/laravel
chmod -R 777 storage bootstrap/cache

(nginx 可换成 apache)


4️⃣ Nginx / Apache 没配置好

Laravel 必须指向 public 目录

✅ 正确:

root /var/www/laravel/public;

❌ 错误:

root /var/www/laravel;

Nginx 示例:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

5️⃣ PHP 扩展缺失

Laravel 必须扩展:

php-mbstring
php-xml
php-curl
php-zip
php-json
php-tokenizer

检查:

php -m

6️⃣ CentOS 8 / 9 已停止维护(坑)

  • CentOS 8:官方源已下线
  • CentOS 9:很多软件源不稳定

✅ 建议使用:

  • Rocky Linux
  • AlmaLinux
  • Ubuntu 22.04(对 Laravel 更友好)

二、快速自检清单(照着做)

php -v
composer -V
ls storage
ls bootstrap/cache
systemctl status nginx
systemctl status php-fpm

三、最典型报错 & 对应原因

报错 原因
php artisan 没反应 PHP 版本太低
composer install 失败 PHP 扩展缺失
500 错误 权限 / env 没配置
404 Nginx 没指向 public
Class not found composer 没 autoload

四、建议你直接告诉我这些(我能精准帮你)

你可以直接贴出来:

  1. CentOS 版本(cat /etc/centos-release
  2. PHP 版本(php -v
  3. Laravel 版本
  4. 报错信息(完整)
  5. Web 服务(Nginx / Apache)

我可以一步一步给你定制命令,保证跑起来 ✅

0