可以在不改动系统默认 PHP 的前提下安装 Laravel,关键在于隔离运行环境——用独立的 PHP 版本(如 remi 的 php82)配合 Composer 独立安装,所有操作不触碰 /usr/bin/php 或系统默认的 php.ini。

可以在不改动系统默认 PHP 的前提下安装 Laravel,关键在于**隔离运行环境**——用独立的 PHP 版本(如 remi 的 php82)配合 Composer 独立安装,所有操作不触碰 `/usr/bin/php` 或系统默认的 `php.ini`。
用 remi 仓库装独立 PHP 8.2
CentOS 7 默认 PHP 太旧,但 remi 提供并行安装方案,不会覆盖系统 PHP:
- 先启用仓库:
yum install epel-release -y && yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y - 启用 php82 模块:
yum-config-manager --enable remi-php82 - 只装所需扩展:
yum install php82-php-cli php82-php-mbstring php82-php-pdo php82-php-xml php82-php-zip php82-php-tokenizer -y - 创建专用命令别名,比如:
alias php82='/opt/remi/php82/root/usr/bin/php',后续全用php82调用
用独立 Composer 绑定新版 PHP
Composer 必须和 PHP 8.2 对齐,且不能依赖系统全局 PHP:
- 下载指定版本的 Composer:
curl -sS https://getcomposer.org/installer | php82 -- --filename=composer --version=2.7.8 - 移动并设权限:
mv composer /usr/local/bin/composer82 && chmod +x /usr/local/bin/composer82 - 配置镜像加速:
composer82 config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 验证:
composer82 --version应显示 2.7.8+,composer82 -v | head -1显示调用的是 php82
创建项目时跳过系统干扰
不用 laravel new(它依赖全局 PATH 和 laravel/installer,易冲突),改用 create-project 并显式指定 PHP:
立即学习“PHP免费学习笔记(深入)”;
- 执行:
composer82 create-project laravel/laravel myapp --no-interaction - 进入目录后,所有 Artisan 命令都用 php82:
php82 artisan key:generate、php82 artisan serve - storage 和 bootstrap/cache 权限照常设:
chmod -R 755 storage bootstrap/cache
Nginx/Apache 配置指向独立 PHP-FPM
Web 服务不走系统 php-fpm,而用 remi 提供的独立服务:
- 启动 php82-fpm:
systemctl start php82-php-fpm(首次可systemctl enable) - Nginx 中 fastcgi_pass 改为:
fastcgi_pass 127.0.0.1:9002(remi 默认端口)或 unix socket:unix:/var/opt/remi/php82/run/php-fpm/www.sock - 务必加这行防止 SCRIPT_FILENAME 错误:
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;



















