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

1年前 评论

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

1年前 评论

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

11个月前 评论
yyy123456 (楼主) 11个月前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
50
粉丝
7
喜欢
60
收藏
94
排名:592
访问:1.3 万
私信
所有博文
社区赞助商