在代码中运行Artisan命令时,如何指定PHP版本?

在代码中运行Artisan命令时,如何指定PHP版本? 比如项目绑定的PHP版本是8.0,但是cil默认是7.4,我怎么在Artisan模式下指定8.0

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
随波逐流
最佳答案

file

1年前 评论
Rache1 1年前
随波逐流 (作者) 1年前
Rache1 1年前
随波逐流 (作者) 1年前
随波逐流 (作者) 1年前
讨论数量: 17
php80 artisan command
1年前 评论

安装路径/php artisan 比如

/usr/local/Cellar/php@8.1/8.1.20/bin/php artisan 
1年前 评论
勇敢的心 (楼主) 1年前
神的孩子丶都在跳舞 (作者) 1年前
巴啦啦

你指定不了。这是调用系统的命令,除非你能找到在linux中选择php版本的命令。

1年前 评论

Artisan::call 调用的命令实际并没有走 CLI 运行,而是根据传递的第一个参数去寻找对应的 Command 类,然后调用 handle 或者 __invoke 方法。

对于不存在的命令抛出异常


你既然需要单独运行的话,那就直接调用 Shell 命令就好了。

比如 execsystemshell_exec 这些函数。

更推荐 symfony/process 这个包。

1年前 评论
勇敢的心 (楼主) 1年前

Artisan::call 也是差不多用的sf库的cmd,指定php就用这些吧

1年前 评论
sanders

不行,建议使用 exec 来替代。但实际场景中,我们更多的是在使用不同版本的PHP启动当前脚本,或者使用不同PHP版本环境的容器来启动这个脚本。

1年前 评论
随波逐流

file

1年前 评论
Rache1 1年前
随波逐流 (作者) 1年前
Rache1 1年前
随波逐流 (作者) 1年前
随波逐流 (作者) 1年前

brew link php@8.0 --force

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!