如何让Laravel项目切换使用PHP7.3以适配Composer依赖?
为Laravel项目指定PHP 7.3版本(XAMPP多版本环境)
以下是几种适配你场景的可行方案,按优先级排序:
1. 临时指定PHP版本执行Composer命令(最直接解决composer upgrade问题)
直接调用XAMPP中PHP7.3的二进制文件来运行Composer,确保依赖检查和安装都基于PHP7.3环境:
- 找到你XAMPP中PHP7.3的安装路径(例如
D:\xampp\php73) - 在项目根目录的终端中执行:
# Windows示例 D:\xampp\php73\php.exe C:\path\to\composer.phar upgrade # 若Composer已全局安装,可简化为 D:\xampp\php73\php.exe composer upgrade
2. 临时修改终端环境变量(会话级生效)
在当前终端会话中,将PHP7.3的路径设为优先,让Composer自动使用该版本:
- 打开终端,进入项目根目录
- 执行环境变量设置(Windows):
set PATH=D:\xampp\php73;%PATH%
- 随后直接运行
composer upgrade,此时终端内的PHP版本已切换为7.3
3. 配置XAMPP虚拟主机绑定PHP7.3(适配浏览器访问场景)
如果需要在浏览器中通过域名访问项目时使用PHP7.3,修改XAMPP的虚拟主机配置:
- 打开XAMPP的
apache\conf\extra\httpd-vhosts.conf文件 - 添加对应虚拟主机配置,指定PHP7.3的FastCGI处理:
<VirtualHost *:8056> DocumentRoot "D:\xampp\htdocs\your-laravel-project" ServerName laravel-local.test <Directory "D:\xampp\htdocs\your-laravel-project"> AllowOverride All Require all granted </Directory> # 绑定PHP7.3的FPM处理程序(需确保PHP7.3的FPM服务已启动) <FilesMatch \.php$> SetHandler "proxy:fcgi://127.0.0.1:9056" </FilesMatch> </VirtualHost>
- 修改系统
hosts文件,添加127.0.0.1 laravel-local.test - 重启XAMPP中对应8056端口的Apache服务
4. 强制Composer依赖解析使用PHP7.3(辅助方案)
若仅需让Composer在依赖检查时识别为PHP7.3环境(不改变实际运行版本),可在项目的composer.json中添加:
"config": { "platform": { "php": "7.3.0" } }
添加后执行composer update,Composer会按PHP7.3的约束来安装依赖,但实际运行项目仍需配合前面的方法切换到PHP7.3环境。
内容的提问来源于stack exchange,提问作者Pei
相关产品推荐
相关产品推荐

