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

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

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
随波逐流
最佳答案

file

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

安装路径/php artisan 比如

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

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

2年前 评论

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

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


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

比如 execsystemshell_exec 这些函数。

更推荐 symfony/process 这个包。

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

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

2年前 评论
sanders

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

2年前 评论
随波逐流

file

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

brew link php@8.0 --force

2年前 评论

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