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

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

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 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年前 评论

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