CentOS 与 Laravel 的兼容性要点与解决方案
一 兼容性与版本矩阵
| Laravel 版本 | 最低 PHP 版本 |
|---|---|
| 5.1–5.4 | ≥ 5.5.9 |
| 5.5 | ≥ 7.0.0 |
| 5.6 | ≥ 7.1.3 |
| 6.x / 7.x | ≥ 7.2.0 |
| 8.x | ≥ 7.3,且 ≤ 8.1 |
| 9.x | ≥ 8.0,且 ≤ 8.2 |
| 10.x | ≥ 8.1,推荐 8.2 |
| 11.x | ≥ 8.2 |
二 CentOS 版本与可用 PHP 版本
三 常见兼容性问题与处理清单
PHP 版本不匹配
php -v、php-fpm -v)。必要扩展缺失
composer install 或运行报错,提示缺少如 fileinfo、mbstring、pdo、xml、zip、gd、bcmath、openssl、tokenizer 等扩展。php-mbstring、php-xml、php-zip、php-gd、php-bcmath、php-pdo、php-mysqlnd 等);若 fileinfo 仍缺失,可按需源码编译启用。目录权限与用户组
chown -R nginx:nginx storage bootstrap/cache),并设置合适权限。Web 服务器与 FPM 配置
try_files $uri $uri/ /index.php?$query_string;;location ~ \.php$ 使用 php-fpm.sock 并正确设置 SCRIPT_FILENAME。AllowOverride All,启用 mod_rewrite。SELinux 与防火墙
setenforce 0 临时测试,或配置正确的布尔值与类型);放行 80/443 端口或临时关闭防火墙进行验证。Composer 与内存限制
composer install 报内存不足或执行缓慢。php -d memory_limit=256M /usr/local/bin/composer install),或在 php.ini 调整 memory_limit。四 快速自检与部署建议
版本与扩展自检
php -v、php -m 检查 CLI 版本与扩展;php-fpm -v 检查 FPM 版本;必要时在 Nginx/Apache 中再次确认 SCRIPT_FILENAME 与运行用户。一键环境基线示例(以 CentOS 7/8 + Nginx 为例)
php php-fpm php-mysqlnd php-mbstring php-xml php-zip php-gd php-bcmath)→ 启动并开机自启 php-fpm 与 nginx → 配置 Nginx root 为 public 并启用 try_files 与 PHP-FPM。运行与日志
tail -f storage/logs/laravel.log;/var/log/php-fpm.log;.env 变更后执行 php artisan config:clear 清理缓存。