Sublime给出了一个错误:can 't find php binary file at /usr/local/bin/php.如果php只在docker容器中,我该怎么办?

i34xakig  于 2023-04-10  发布在  PHP
关注(0)|答案(1)|浏览(805)

我在macOS上使用Docker。
每次我在Sublime Text中保存文件时都会出现此消息

在/usr/local/bin/php中找不到PHP二进制文件

我之前做了一些修改来阻止这个,但是在重新启动Sublime的时候,我又回到了原点。
我已经检查了这个Can't find PHP binary file,但是我没有本地的php (没有找到php - php),它位于一个docker容器中:
docker exec -it <container name> /bin/bash
在docker bash中,php给出**/usr/local/bin/php**
在这种情况下,我如何在phpfmt中创建一个PATH来永久停止Sublime消息?

0sgqnhkj

0sgqnhkj1#

我在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中,某处有一个配置选项说“path to php”(或类似的东西)-我在VSCode上,所以你自己在Sublime Text中找到这个选项。
我们将配置设置为/home/ME/bin/php或您放置本地脚本的任何其他位置。
你知道有一个本地的“假”PHP,Sublime可以使用容器上的“真实的”版本的PHP运行(只要容器启动)。

相关问题