我在 MacOS 上使用 Docker。
每次我在 Sublime Text 中保存文件时都会出现
在 /usr/local/bin/php 找不到 PHP 二进制文件
我之前进行了更改以阻止此操作,但随后在重新启动 Sublime 时我又回到了原点。
我检查过这个找不到 PHP 二进制文件但我没有本地 php (找不到 php - php),它位于 docker 容器中:
docker exec -it <container name> /bin/bash
在docker bash里面哪个php给/usr/local/bin/php
在这种情况下,如何在 phpfmt 中创建 PATH 以永久停止 Sublime 消息?
我在 Linux 上使用 VSCode 时遇到了类似的问题...
因此,VSCode 或 SublimeText 正在寻找 PHP 的本地(即容器外)副本来运行代码。
如果我们实际的 PHP 在容器中,我们需要一些“让它认为”存在 PHP 的本地副本的方法。
第一步是创建“假”本地副本。所以我们创建一个文件。它在哪里并不重要,但我将它保存在我的
~/bin
目录中。
第二阶段是使该文件实际上像 PHP 一样运行。所以我们使文件可执行并将以下脚本放入其中。
#!/bin/bash
docker exec -it <container name> /usr/local/bin/php $@
有了本地的这个脚本,我们可以在(例如)终端窗口中执行此操作:
/home/ME/bin/php --version
而且,只要容器启动,它就应该给我们 PHP 版本。
然后在 VSCode 或 Sublime 中,某处有一个配置选项,上面写着“php 路径”(或类似的东西)——我在 VSCode 上,所以你自己在 Sublime Text 中找到这个选项。
我们将该配置设置为
/home/ME/bin/php
或您放置本地脚本的任何其他位置。
你知道有一个本地“假”PHP,Sublime 可以使用容器上的“真实”PHP 版本运行(只要容器启动)。