“Laravel 怎样兼容 CentOS”这个问题,核心其实是 Laravel(PHP 应用)在 CentOS 系统上能正常运行需要什么条件,而不是 Laravel 本身需要为 CentOS 做特殊改造。
下面从 环境要求 → 安装方式 → 常见坑点 → 推荐方案 给你一个完整说明。
Laravel 官方要求:
ctypecurldomfileinfojsonmbstringopensslpcrePDOtokenizerxml✅ Laravel 是跨平台的,CentOS、Ubuntu、AlmaLinux 都一样。
yum install -y epel-release
yum install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm
yum module enable php:remi-8.2 -y
yum install -y php php-cli php-fpm php-mysqlnd php-mbstring php-xml php-curl php-zip
yum install -y nginx
server {
listen 80;
root /var/www/laravel/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
chown -R nginx:nginx /var/www/laravel
chmod -R 755 /var/www/laravel/storage
这是 最兼容、最省心 的方案。
docker run -p 8000:8000 -v $(pwd):/app laravel/php:8.2
或:
docker compose up -d
✅ 不受 CentOS 版本影响
✅ 不用折腾 PHP 扩展
✅ 生产环境也推荐
php artisan serve --host=0.0.0.0 --port=8000
⚠️ 不用于生产
setsebool -P httpd_read_user_content 1
或临时关闭:
setenforce 0
CentOS 自带 PHP 往往是 7.2/7.4
✅ 必须用 Remi 源
php artisan storage:link
chmod -R 775 storage bootstrap/cache
确保:
'env' => 'UTF-8',
Laravel 不需要“兼容 CentOS”,只要 CentOS 上有符合要求的 PHP 环境即可。
✅ 最佳方案:
如果你愿意,可以告诉我:
我可以直接给你一份 可复制的配置清单。