MacOS下Docker环境中Sublime Text找不到PHP二进制文件的解决方法
解决Sublime Text phpfmt依赖Docker内PHP的路径配置问题
打开Sublime Text的phpfmt永久配置文件:
按下Cmd+Shift+P调出命令面板,输入phpfmt: Settings - User并回车,打开用户配置文件(这个文件的修改不会被Sublime更新覆盖)。修改
php_bin配置项:
在配置文件中添加或修改以下内容,替换<你的容器名称/ID>为实际的Docker容器标识:{ "php_bin": "docker exec <你的容器名称/ID> /usr/local/bin/php" }原理是让phpfmt通过
docker exec直接调用容器内的PHP二进制文件,而非依赖本地PHP环境。验证配置:
保存配置文件后重启Sublime Text,再次保存PHP文件时,就不会再弹出找不到PHP的提示了。
额外注意事项
- 确保你的Docker容器处于运行状态,否则
docker exec命令会执行失败,仍可能触发错误提示。 - 如果容器名称包含空格或特殊字符,需要将容器名用双引号包裹,比如:
docker exec "my-php-container" /usr/local/bin/php。 - 若频繁修改容器标识,可写一个简单的Shell脚本(比如命名为
docker-php.sh),内容如下:
给脚本添加执行权限(#!/bin/bash docker exec <你的容器名称/ID> /usr/local/bin/php "$@"chmod +x docker-php.sh),然后将php_bin指向这个脚本的绝对路径,比如"/Users/你的用户名/scripts/docker-php.sh",这样后续修改容器只需改脚本即可。
内容的提问来源于stack exchange,提问作者Martyn
相关产品推荐
相关产品推荐

