Laravel 之道特别篇二: PhpStorm 实现远程代码同步更新
导语
这一章,我们来学习一下 PhpStorm 实现远程代码同步更新。这是什么意思呢,相信各位从字面意思大概了解了。
PhpStorm 实现远程代码同步更新:指在本地使用 PhpStorm 开发 WEB 应用或者 API 接口时,通过 PhpStorm 提供的同步设置,将开发或者修改完成的代码,保存到本地的同时,上传到服务器上,无需人工一个一个文件的上传代码,方便实用。
一、前期准备
-
结合特别篇第一章,我们有了本地模拟远程服务器的条件——虚拟机和 CentOS 系统,并且安装好了 LNMP 环境
-
在第一章中,我们新建了
learn的项目,我们就用这个项目。
清空项目目录,如下图

二、上传项目代码
-
选中本地项目中的内容,建议使用
7-Zip软件压缩成tar包
-
看一下
7-Zip具体设置界面
-
通过 Xftp 将
tar压缩包上传到服务器/www/wwwroot/learn项目目录下
-
进入 Xshell 对 learn.tar 文件进行解压
cd /www/wwwroot/learn tar -xvf learn.tar -
此时,本地项目与服务器项目是一致的,这是实现同步设置的基础

三、将服务器项目跑起来
-
第一步,修改 Nginx 配置
vim /etc/nginx/conf.d/learn.conf
将里面所有的
/www/wwwroot/learn改成/www/wwwwroot/learn/public; -
第二步,启动 nginx, php-fpm, mysqld
systemctl start nginx systemctl start php-fpm systemctl start mysqld -
第三步,关闭防火墙
iptables -F setenforce 0 -
第四步,浏览器访问 IP:8080

四、PhpStorm 的同步配置
-
第一步,打开同步配置

-
第二步,添加服务器链接配置

-
第三步,设置 IP、账户密码等服务器链接配置

-
第四步,选择
Root path,即服务器端项目根目录。


-
第五步,进一步配置项目根目录,并完成配置

五、实现手动同步单个文件
-
第一步,本地修改
welcome.blade.php前端文件
-
第二步,进入同步对比窗口

-
第三步,这时就可以看到本地和服务器的不同了

-
第四步,点击同步按钮,完成同步操作


六、ctrl + s 便捷式同步操作
ctrl + s 是进行同步代码的主要手段,保存本地的同时,保存服务器上的代码,极大方便了开发;同时也支持目录同步、多文件同步以及删除同步。
-
第一步,打开
Options配置项

-
第二步,设置
ctrl + s同步操作
-
最后,即可本地修改代码,然后在 ctrl + s 后,访问 IP:8080


本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
配图这么详细,简直业界良心
勾选这个也可以
@lovecn 嗯嗯,是滴
给力!正需要
正好有个问题需要用到这个功能,尝试一下
可以可以,目前在测试环境就是需要用到比对,感觉太麻烦了😂
@会飞的猪 更新不需要对比的。我写对比,是为了体现这个功能能够用而已。你直接 ctrl+s,本地保存的同时,服务器也会保存
不推荐这种骚操作~~ 一个人的项目除外
这种只适合一个人开发项目吧 多人的就不行了?
@var_dump 多人开发要据实际情况而定。比如,你们项目有一个生产环境和一个开发环境,而这两个环境都是搭建在服务器上的。平时开发用的开发环境,测试通过,合并到生产环境上。这时候,找一个人(项目经理)与开发环境做同步,其他人不要同步,所用人用 git 做代码管理,当所有人开发完毕,最后找的那个人(项目经理)用 git 做好了代码同步,然后在与服务器做最后代码同步,然后测试。。。。
我感觉这个用deployment同步+git更方便,可以commit同时一键上传服务端。
以前使用deployment自动上传,现在公司代码不再使用ftp管理,现在使用git+webhook自动更新和git+mtrops手动更新代码,相比之下各有优劣
@var_dump 多人也可以,每个人做每个人的模块,不想共用文件应该没问题
一直在用这玩意 很方便
你好,想问一下上面这种方法,如果涉及到分支切换,每次切换分支后是不是得重新选择一下deployment,目前我是这样,不知道是不是我的使用方式不对,感觉这样比较不方便
@yufatang 是的,这个本质就是 FTP 上传,分支切换是 git 上的,两个不是一种东西
最近尝试了这种方法,PHPstorm设置自动上传,还挺顺溜的,打开PHPstorm就可开始撸代码,即刻预览。我的组合:阿里云t5实例,PHPstorm,xshell,docker-compose搭环境,安装扩展、artisan和npm命令都登录到云主机的容器里执行,速度快。有个问题就是安装扩展后,要同步vendor目录回到本地,文件多的话有点耗时。还有node_module目录设置成不同步。
docker 容器内的代码 如何 ps打开,docker 装了 ftp 宿主机连不上