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