php 在 wsl 或 docker 下本地开发环境的文件管理最佳设置

php 在 wsl 或 docker 下本地开发环境的文件管理最佳设置#

本文编写时间:2023-02-07

需求#

经常有这种情况,就是使用了 WSL 或 docker 或虚拟机,那么文件如何部署,本地如何开发调试,是经常会遇见的问题。本文假设开发者自己使用 windows 操作系统。

解决方案#

这种情况下,最好的方法就是搞两套代码。
说明:无论哪种方案,php 和 nginx 和 mysql 和 redis 都放在容器或 wsl 里。

一套代码的方案讨论#

(1)代码放宿主机,好处是 phpstorm 建立索引快,查询方便,但是调试慢,执行慢或根本无法实现。
(2)代码放容器或虚拟机里,调试快,执行快,但本机全文查找就很慢,对编辑器不友好。
所以,一套代码怎么也满足不了需求。

两套代码的方案讨论#

宿主机放一套代码,然后每次修改,应该自动或手动对应修改容器内的代码 ,这样达成兼容,本机开发快,调试也快,执行也快。

自动化具体实现#

利用 phpstorm 的可以修改文件自动上传原程的功能。
要求本机开发环境下,可以访问 容器 / 虚拟机 /docker/wsl 的文件,可以建文件夹映射(或驱动器映射),mount 的方式,可以 sftp,可以用 docker 的数据卷。
(1)phpstrom 设置里面搜索 “Deployment”, 选择 + 号,然后选择 SFTP 或 local:
(2)填写远程主机的信息

上图是 sftp

上图是驱动器映射。

(3)然后选择 Mappings,填写本地代码路径和远程主机代码路径。注意:远程路径是相对于之前设置的 Root Path 的路径。

(4)然后选择菜单栏的 Tools->Deployment,勾选 Automatic Upload(自动上传),表示本地代码只要有改动保存,就会自动上传到远程服务器。
(5)此时去服务器上对应的目录查看文件,已经被修改了。当然知道了就可以忽略这步。

上图是自动上传的提示。

总结#

本文所描述的都是本地开发环境,如有远程测试服,或远程正式服,应按照部署要求搞而不是本文的方案。

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 4

可以直接编辑啊,要什么 ftp

2年前 评论

说实话,不是很看得懂,可能是段位不够吧

2年前 评论

代码放到 wsl2 里很担心 wsl2 抽风重置,毕竟是虚拟机,环境和代码就全没了。
我已经有两次都是突然有一天 wsl 启动失败,百度了重启命令后,再打开 docker,所有的容器都不见了。。。

2年前 评论
yyy123456 (楼主) 2年前

未填写
文章
58
粉丝
11
喜欢
63
收藏
105
排名:486
访问:1.8 万
私信
所有博文
社区赞助商