如何用Laravel Process执行./vendor/bin/pint命令?执行报错求助
解决Laravel Process执行pint命令的错误问题
出现这个错误是因为Windows系统不识别Unix风格的./相对路径写法,且pint在Windows下的可执行文件是pint.bat,以下是几种正确的实现方式:
方法1:针对Windows环境使用对应路径
直接调用Windows下的pint批处理文件:
Process::run('vendor/bin/pint.bat', function (string $type, string $output) { echo $output; });
方法2:跨平台通用写法(推荐)
因为pint本质是PHP脚本,直接用PHP命令调用,这种写法在Windows、Linux、macOS下都能正常运行:
Process::run(['php', 'vendor/bin/pint'], function (string $type, string $output) { echo $output; });
补充说明
如果你的项目部署在多环境下,优先用第二种方法,避免因操作系统差异导致路径问题。另外,也可以使用Process::fromShellCommandline方法执行完整shell命令,效果一致:
Process::fromShellCommandline('php vendor/bin/pint')->run(function (string $type, string $output) { echo $output; });
内容的提问来源于stack exchange,提问作者KWARN KHAM
相关产品推荐
相关产品推荐

