当在docker容器中设置php时,如何在vscode中设置php可执行路径php.validate.executablePath?

Posted

技术标签:

【中文标题】当在docker容器中设置php时,如何在vscode中设置php可执行路径php.validate.executablePath?【英文标题】:How to set php executable path php.validate.executablePath in vscode when php is set inside docker container? 【发布时间】:2017-10-01 18:58:59 【问题描述】:

我有一个基于 docker 的开发环境。

每次打开 VSCode 时都会收到以下消息:

无法验证,因为没有设置 php 可执行文件。使用设置 'php.validate.executablePath' 来配置 PHP 可执行文件。

有人知道在这种情况下如何设置 php.validate.executablePath 吗?

我不知道该怎么做。

【问题讨论】:

github.com/Microsoft/vscode/issues/251 github.com/Microsoft/vscode/issues/533 是的!所有这些链接都讲述了在您的机器上本地运行的 PHP,而不是关于 Docker 环境 这里有截图答案***.com/a/36261014/4291272 似乎这个页面上的所有答案都在说......如果你在 Docker 中工作......无论如何都要在你的机器上安装 PHP 并设置它的路径。希望这能澄清问题。 【参考方案1】:

我只是使用了双正斜杠,它就起作用了,就像这样:

"php.validate.executablePath": "C:\\xampp\\php\\php.exe",

【讨论】:

【参考方案2】: 转到“首选项”->“设置” 搜索> php path 然后点击Edit in settings.json 然后只需将您的目录与(双反斜杠)一起放置。

这是我的一个例子:

C:\\php\\php.exe

格式如下:

drive:\\folder_name\\php.exe

这应该可以解决问题。

【讨论】:

【参考方案3】:

我有 ubuntu 和 XAMPP。 以下对我有用。

按 CTRL + P 输入 settings.json 并按 ENTER。

在 settings.json 中添加以下行


...
"php.validate.executablePath": "/opt/lampp/bin/php",
...

确保语法正确。

【讨论】:

【参考方案4】:

关于问题的特定于 docker 的修订,我在 VS Code PHP Intellisense git repo 问题中找到了这个线程,该问题解释了如何创建包装脚本。不过,这将涉及映射体积,因此请考虑到这一点。

https://github.com/felixfbecker/vscode-php-intellisense/issues/150#issuecomment-330374124

【讨论】:

【参考方案5】:

如果你使用的是 VScode 并且已经通过 MAMP 安装了 Php,那么默认路径应该是:

C:/MAMP/bin/php/php7.4.1/php.exe

/ 不是\

【讨论】:

【参考方案6】:

VSCode Linux 用户:

第 1 步: 在您的终端类型中

whereis php

在我的情况下“php:/opt/lampp/bin/php”

第 2 步:


  "php.validate.executablePath": "/opt/lampp/bin/php"

【讨论】:

【参考方案7】:

我不知道这是否有帮助,但我在 Visual Studio Code 中的扩展 PHP Intelephense 遇到了同样的问题。我所做的是阅读说明,以便扩展程序可以正常工作。所以我通过在扩展中搜索“@builtin PHP”禁用了 PHP 语言功能。此外,为了获得最佳效果,也应禁用提供类似功能的其他(第 3 方)PHP 扩展。最后,我在 files.associations 设置中添加了非标准 PHP 文件扩展名的 glob 模式。例如:“files.associations”:“*.module”:“PHP”

这样做会使错误消失。我也是 PHP 新手,如果这是否是使用 PHP Intelephense 解决此问题的正确方法,请告诉我。

【讨论】:

【参考方案8】:

如果使用 Laragon...不要忘记将 \ 更改为 /

  "php.executablePath": "C:/laragon/bin/php/php-7.4.5-Win32-vc15-x64/php.exe",

【讨论】:

【参考方案9】:

在我使用 XAMPP 的情况下是这样的

"php.validate.executablePath": "C:/xampp/php/php.exe"

希望能回答你的问题

【讨论】:

在 Windows 10 上它也必须在你的路径变量中。在开始菜单中搜索环境变量并将其添加到路径中。只是目录,而不是exe。例如:C:\php 宾果游戏。正是我需要的。谢谢【参考方案10】:

我的情况,我使用的是 Laragon,所以你应该搜索你的 php.exe 在哪里。

VSCode 只需添加即可。

"php.executablePath": "C:\\laragon\\bin\\php\\php-7.2.19-Win32-VC15-x64\\php.exe"

关于 settings.json

【讨论】:

【参考方案11】:

如果您在 VS 代码中的 Windows 上获得此信息,请单击蓝色的“打开设置”按钮。在打开的屏幕底部附近有一个用于输入设置的链接,单击它以打开 settings.json 文件。编辑文件如下所示:


    "php.executablePath" : "C:/php-7.4.2-nts-Win32-vc15-x64/php.exe",
    "php.validate.executablePath" : "C:/php-7.4.2-nts-Win32-vc15-x64/php.exe"

其中 C:/php-7.4.2-nts-Win32-vc15-x64 是 PHP 目录的路径

【讨论】:

【参考方案12】:

我也收到此错误消息。 php.exe 的路径已在我的系统环境变量中设置。

当我在 VSCode 的 settings.json 文件中注释掉 "php.validate.executablePath": "c:/path/to/php7.2.10/php.exe" 时,错误消失了。

【讨论】:

【参考方案13】:

"php.validate.executablePath": "C:/php/php.exe" 由于不正确的转义而无法工作

试试这个;

"php.validate.executablePath": "C:\\php\\php.exe"

【讨论】:

【参考方案14】:

对于 Linux 用户: 如果您没有安装 PHP,请先下载, 然后在终端输入

$ whereis php

它会显示 php 可执行文件的路径(它将在 /usr/bin/phpusr/local/bin/php 中),您可以从终端复制它。

在 VScode 中转到 settings.json 文件并粘贴

php.validate.executablePath: /usr/bin/php

【讨论】:

就像其他答案提到的:不要忘记转义路径中的斜线!【参考方案15】:

这是截图。

别忘了逃跑\ 您不必将其添加到路径中

【讨论】:

@NgatiaFrankline 我可以帮助你的朋友吗? ?,你能澄清你的问题吗? @Elrashid 抱歉,来晚了。问题是 How to set php executable path php.validate.executablePath in vscode when php is set inside docker container? 我的理解是 docker 运行容器化应用程序(如来宾/虚拟机,但资源较少。阅读更多 hub.docker.com )。因此,这意味着您的 docker php 环境(可以是 Ubuntu)与安装了 vscode 的本地桌面(可以是 windows)不同。如何从安装 vscode 的本地/开发机器获取来宾/容器化操作系统的 php.validate.executablePath 的路径??? @NgatiaFrankline 原来的问题是“如何设置 php.validate.executablePath?”于 2017 但已更改 2019 年 9 月 [点击此处查看修订](***.com/posts/43768614/revisions) @Elrashid 当然,我的错。 @NgatiaFrankline 感谢您的理解❤,请随时标记我,如果您在任何其他问题上需要帮助,再次感谢您的关注和时间❤【参考方案16】:

我遇到了同样的问题,但找到了修复 here。

在 Windows 中:

    转到系统属性 转到高级选项卡 点击“环境变量” 选择路径 添加指向您的 php 7 可执行文件的新路径:

【讨论】:

【参考方案17】:

下载 PHP,就我而言,我是从这里下载的: http://windows.php.net/download/

将文件复制并粘贴到您计算机上的某个位置,并设置路径:

"php.validate.executablePath": "C:/php/php.exe"

【讨论】:

op专门询问php运行时何时在docker容器内,而不是如何在主机中安装php并在vscode中使用它。【参考方案18】:

当然,很简单。照着上面说的就行了。

转到文件>首选项>设置...它将打开 settings.json 文件。

添加以下代码:

"php.validate.executablePath": "这里放你的 PHP.exe 路径"

你必须知道你的电脑中的PHP.exe文件在哪里,在php>bin文件夹中搜索。

希望对你有用

【讨论】:

但是 PHP 在 Docker 容器中,不是我的本地机器 @Takashi 以上两个答案都没有。

以上是关于当在docker容器中设置php时,如何在vscode中设置php可执行路径php.validate.executablePath?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 GCP 中设置与 MongoDB Docker 容器的连接

如何在 docker 容器中设置 flask-socketio?

如何在 Docker 容器中设置静态 IP 地址?

如何在 Debian/Ubuntu Docker 容器中设置语言环境?

使用 docker 客户端在 python 中设置新容器时权限被拒绝错误

在远程服务器上的 docker 容器中设置本地 PyCharm 远程解释器