CentOS 运行不了 Laravel 通常不是“系统不支持”,而是环境配置或版本不匹配导致的。下面按最常见原因 → 排查方法 → 解决方案给你系统梳理一下。
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
Laravel 必须用 Composer。
检查:
composer -V
没有就装:
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer
⚠️ 注意:
Laravel 需要写 storage 和 bootstrap/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)
Laravel 必须指向 public 目录
✅ 正确:
root /var/www/laravel/public;
❌ 错误:
root /var/www/laravel;
Nginx 示例:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
Laravel 必须扩展:
php-mbstring
php-xml
php-curl
php-zip
php-json
php-tokenizer
检查:
php -m
✅ 建议使用:
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 |
你可以直接贴出来:
cat /etc/centos-release)php -v)我可以一步一步给你定制命令,保证跑起来 ✅