关于windows下phpstorm+vmware的lnmp共享文件夹问题的最佳实践
分类:
文章
•
2024-09-15 14:45:40
- 开发运行环境分为运行环境和开发环境两方面。所谓运行环境,对于web来说,几乎都是基于linux的,不管lnmp还是nodejs。所谓开发环境,一般关心的是ide,比如windows下、mac下、linux下的phpstorm对于php进行开发。
- 对于web开发者而言,mac无疑是最佳的选择。
mac的底层darwin系统是类unix的,凡是支持linux的服务器工具几乎都有对应的mac版本,因此你可以在本机构建跟linux服务器一样的运行环境。
同时mac又有漂亮的开发环境,ide的渲染效果非常好。3.
- 但是mac的缺点也显而易见。低配高价,同时娱乐性受限。一般公司是很难标配的。
- 那么使用windows有什么替代的办法呢?答案就是共享文件夹。
- 方案一是,在windows宿主机使用phpstorm,建立git管理的源码文件夹(可以使用图形化的TortoiseGit进行一些比对操作),然后将该宿主机的文件夹共享给vmware里的虚机,虚机里使用该文件夹建立lnmp开发环境。
- 上面的办法一般来说是有效的,但是对于nodejs开发还是有问题的,主要是由于该文件夹的磁盘类型是windows的,软连接和硬连接无法实现,因此可能造成
npm build
失败。
- 方案二是,完全使用虚机的linux系统存储文件,进行git管理。然后通过samba共享给宿主机windows的phpstorm进行访问。缺点是,如果虚机不开机,或者虚机异常,phpstorm打开则无法访问文件目录。
- 有没有一种办法,既能够在宿主机windows下进行git管理,采用phpstorm开发,又能在虚机进行nodejs访问呢?
- 答案是不要使用共享访问!上述的方案一和方案二都不要使用。
- phpstorm使用java开发,虽然很卡很重很缓慢,但是功能极其强大。这里就用到了phpstorm的deployment功能。
- 在宿主机windows本地新建一个git管理的目录,使用phpstorm新建工程。在虚机建立lnmp的web目录(也可以是nodejs的目录)。
- 在phpstorm设置deployment服务器。如下图所示:
- 在本地工程中的tools->deployment中选择automatic upload,或者Sync with deployed to,或者手动Uploadto即可。
- 以上,windows宿主机和linux虚机各保留一份副本,然后通过sftp(即ssh)实现修改的实时通信。更妙的是,phpstorm的xdebug断点调试可以同时进行。