温馨提示×

centos为什么跑不动laravel

小樊
36
2026-10-08 18:06:49
栏目: 智能运维

在 CentOS 上“跑不动 Laravel”通常不是系统本身的问题,而是环境配置、版本兼容性或资源限制导致的。下面按最常见原因给你梳理一下,基本能对号入座。


一、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 常见问题

  • CentOS 7 默认 PHP 是 5.4
  • CentOS 8 默认 PHP 7.2

✅ 解决:

# 使用 remi 源
yum install -y epel-release
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php82
yum install php php-cli php-fpm php-mbstring php-xml php-json php-zip

二、缺少必要的 PHP 扩展

Laravel 必装扩展:

mbstring
xml
ctype
json
tokenizer
openssl
pdo

以及(常用):

zip
gd
bcmath

检查:

php -m

三、没有 Composer 或版本不对

Laravel 必须用 Composer:

php -v
composer -V

安装:

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

四、SELinux 导致“跑不动”

CentOS 默认开启 SELinux,经常导致:

  • 访问 403
  • storage 写不进去
  • 页面空白

临时关闭测试:

setenforce 0

✅ 正确做法(推荐):

chcon -R -t httpd_sys_rw_content_t storage
chcon -R -t httpd_sys_rw_content_t bootstrap/cache

五、权限问题(storage / bootstrap)

chmod -R 755 storage
chmod -R 755 bootstrap/cache
chown -R nginx:nginx .

六、Nginx / Apache 配置不对

Nginx 关键配置

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

常见错误

  • document root 指到 public 外层
  • 没有 index.php
  • PHP-FPM 没启动

七、内存 / Swap 不足(小服务器)

Composer 安装 Laravel 很容易 OOM:

free -h

解决:

composer install --no-scripts --prefer-dist
# 或
php -d memory_limit=-1 composer install

八、CentOS 已停止维护(重要)

⚠️ 注意:

  • CentOS 8 已 EOL
  • CentOS 7 也即将 EOL

新项目更推荐:

  • Rocky Linux
  • AlmaLinux
  • Ubuntu 22.04 / 24.04

快速自检清单 ✅

你可以一行一行确认:

php -v
composer -V
php -m | grep -E 'mbstring|xml|openssl'
systemctl status php-fpm
systemctl status nginx
ls -ld storage

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

  1. CentOS 几?
  2. Laravel 几?
  3. 具体现象(白屏 / 500 / 命令行报错)

我可以直接帮你精确到“哪一行配置错了”。

0 踩