Sublime 给出了在 /usr/local/bin/php 找不到 php 二进制文件的错误。如果 php 仅在 docker 容器中,我该怎么办?

问题描述 投票:0回答:1

我在 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 消息?

php docker sublimetext
1个回答
0
投票

我在 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 版本运行(只要容器启动)。

© www.soinside.com 2019 - 2024. All rights reserved.