[英]VsCode php.validate.executablePath, after insalled XAMPP
[英]How to set php executable path php.validate.executablePath in vscode when php is set inside docker container?
我有一个基于 docker 的开发环境。
每次我打开 VSCode 时都会收到此消息:
无法验证,因为没有设置 PHP 可执行文件。 使用设置“php.validate.executablePath”来配置 PHP 可执行文件。
有人知道在这种情况下如何设置 php.validate.executablePath 吗?
我不知道该怎么做。
对于 linux 用户:如果您没有安装 PHP,请先下载,
然后在终端类型
$ whereis php
它将显示 php 可执行文件的路径(它将在/usr/bin/php
或usr/local/bin/php
中),您可以从终端复制。
在 VScode 中转到settings.json
文件并粘贴
php.validate.executablePath: /usr/bin/php
就我而言,使用 XAMPP 是这样的
"php.validate.executablePath": "C:/xampp/php/php.exe"
希望能回答你的问题
当然,容易。 只要按照它说的去做。
转到 File> Preferences > Settings ...它将打开 settings.json 文件。
添加以下代码:
{"php.validate.executablePath": "这里放你的 PHP.exe 路径"}
您必须知道 te PHP.exe 文件在您的计算机中的位置,在 php>bin 文件夹中搜索。
希望这对你有用
我的情况,我使用的是 Laragon,所以你应该搜索你的php.exe在哪里。
通过VSCode只需添加。
"php.executablePath": "C:\\laragon\\bin\\php\\php-7.2.19-Win32-VC15-x64\\php.exe"
在settings.json上。
VSCode Linux 用户:
第 1 步:在您的终端类型中
whereis php
在我的情况下“php:/opt/lampp/bin/php”
第2步:
{
"php.validate.executablePath": "/opt/lampp/bin/php"
}
我有 ubuntu 和 XAMPP。 以下对我有用。
按 CTRL + P 键入 settings.json 并按 ENTER。
在 settings.json 中添加以下行
{
...
"php.validate.executablePath": "/opt/lampp/bin/php",
...
}
确保语法正确。
下载 PHP,就我而言,我从这里下载:http: //windows.php.net/download/
将文件复制并粘贴到计算机上的某个位置,然后设置路径:
“php.validate.executablePath”:“C:/php/php.exe”
"php.validate.executablePath": "C:/php/php.exe"
由于不正确的转义而无法工作
尝试这个;
"php.validate.executablePath": "C:\\php\\php.exe"
如果您在 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 目录的路径
我只是使用了双正斜杠,它就起作用了,如下所示:
"php.validate.executablePath": "C:\\xampp\\php\\php.exe",
我不知道这是否有帮助,但我在 Visual Studio Code 中使用扩展 PHP Intelephense 遇到了同样的问题。 我所做的是阅读说明,以便扩展程序可以正常工作。 所以我通过在扩展中搜索“@builtin PHP”禁用了 PHP 语言功能。 此外,为了获得最佳效果,也应禁用提供类似功能的其他(第 3 方)PHP 扩展。 最后,我在 files.associations 设置中添加了非标准 PHP 文件扩展名的 glob 模式。 例如:“files.associations”:{“*.module”:“PHP”}
这样做会使错误消失。 我也是 PHP 新手,让我知道这是否是使用 PHP Intelephense 解决此问题的正确方法。
如果你使用的是 VScode 并且已经通过 MAMP 安装了 Php,那么默认路径应该是:
C:/MAMP/bin/php/php7.4.1/php.exe
/
不是\
关于问题的特定于 docker 的修订,我在 VS Code PHP Intellisense git repo 问题中找到了这个线程,该问题解释了如何创建包装脚本。 但是,它将涉及映射卷,因此请考虑到这一点。
https://github.com/felixfbecker/vscode-php-intellisense/issues/150#issuecomment-330374124
我也有这个错误。 我已经安装了 Laragon,setting.json 中的这个添加对我有用。
"php.executablePath":"C:/laragon/bin/php/php-7.2.19-Win32-VC15-x64/php.exe"
如果使用 Laragon...不要忘记将 \ 更改为 /
"php.executablePath": "C:/laragon/bin/php/php-7.4.5-Win32-vc15-x64/php.exe",
php path
Edit in settings.json
这是我的一个例子:
C:\\php\\php.exe
这是格式:
drive:\\folder_name\\php.exe
这应该可以解决问题。
laragon 中的 php.validate.executablePath
就我而言,使用 laragon 是这样的
"php.validate.executablePath": "C:\\laragon\\bin\\php\\php-7.4.19-Win32-vc15-x64\\php.exe"
Unix / Linux / Mac / WSL ,
whereis php
响应将显示您的 php 目录在哪里。
user@User:~$ whereis php
php: /usr/bin/php /usr/bin/php8.0 /usr/bin/php8.1 /usr/lib/php /etc/php /usr/share/php8.0-opcache
/usr/share/php8.0-xml /usr/share/php8.1-curl /usr/share/php8.1-opcache /usr/share/php8.0-gd
/usr/share/php7.0-gd /usr/share/php7.0-common /usr/share/php8.0-readline /usr/share/php8.0-mysql
/usr/share/php8.0-zip /usr/share/php8.1-mbstring /usr/share/php8.1-xml /usr/share/php8.0-mbstring
/usr/share/php8.0-common /usr/share/php8.0-curl /usr/share/php8.1-readline /usr/share/php8.1-common
/usr/share/man/man1/php.1.gz
转到->“首选项->设置”
搜索->“php 路径”
然后点击->“在settings.json中编辑”
就我而言,我有多个。
所以我从可用版本中选择了我想要的版本,我的 VS-Code 看起来像这样
"php.validate.executablePath": "/usr/bin/php8.1",
"php.validate.executablePath": "C:\xamp\php\php.exe" 这适用于这种情况
对于 Wampserver:
内部设置。json
"php.validate.executablePath": "C:/wamp64/bin/php/php7.4.26/php.exe"
If php is inside a docker container and you don't need it or don't want to install it on you local system, you can create a php wrapper script like it is suggested here: https://github.com/felixfbecker/ vscode-php-intellisense/issues/471
我更喜欢在 vscode 上使用远程容器 Microsoft 扩展并在容器本身内部工作。
我用过这样的解决方案:
首先,在/usr/local/bin/
中创建一个php
文件并使其可执行:
sudo touch /usr/local/bin/php
sudo chmod +x /usr/local/bin/php
更新内容:
docker exec $(docker ps --filter name=-app --format '{{.ID}}') php "$@"
所以这会在最后找到一个名为-app
的容器。 我将它与 docker compose 一起使用,其中php
在名称末尾有-app
的某个容器中。 您可以在此处查看有关filter
的更多信息。
然后用/usr/local/bin/php
更新php.validate.executablePath
:
{
"php.validate.executablePath": "/usr/local/bin/php"
}
我也收到此错误消息。 php.exe
的路径已在我的系统环境变量中设置。
当我在 VSCode 的settings.json
文件中注释掉"php.validate.executablePath": "c:/path/to/php7.2.10/php.exe"
时,错误就消失了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.