Laravel 之道特别篇二: PhpStorm 实现远程代码同步更新

导语

这一章,我们来学习一下 PhpStorm 实现远程代码同步更新。这是什么意思呢,相信各位从字面意思大概了解了。

PhpStorm 实现远程代码同步更新:指在本地使用 PhpStorm 开发 WEB 应用或者 API 接口时,通过 PhpStorm 提供的同步设置,将开发或者修改完成的代码,保存到本地的同时,上传到服务器上,无需人工一个一个文件的上传代码,方便实用。

一、前期准备

  • 结合特别篇第一章,我们有了本地模拟远程服务器的条件——虚拟机和 CentOS 系统,并且安装好了 LNMP 环境

  • 在第一章中,我们新建了 learn 的项目,我们就用这个项目。
    file

    清空项目目录,如下图

    file

二、上传项目代码

  • 选中本地项目中的内容,建议使用 7-Zip 软件压缩成 tar

    file

  • 看一下 7-Zip 具体设置界面

    file

  • 通过 Xftp 将 tar 压缩包上传到服务器 /www/wwwroot/learn 项目目录下
    file

  • 进入 Xshell 对 learn.tar 文件进行解压

    cd /www/wwwroot/learn
    tar -xvf learn.tar
  • 此时,本地项目与服务器项目是一致的,这是实现同步设置的基础

    file

三、将服务器项目跑起来

  • 第一步,修改 Nginx 配置

    vim /etc/nginx/conf.d/learn.conf

    file

    将里面所有的 /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

    file

四、PhpStorm 的同步配置

  • 第一步,打开同步配置

    file

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

    file

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

    file

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

    file

    file

    file

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

    file

五、实现手动同步单个文件

  • 第一步,本地修改 welcome.blade.php 前端文件

    file

  • 第二步,进入同步对比窗口

    file

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

    file

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

    file

    file

六、ctrl + s 便捷式同步操作

ctrl + s 是进行同步代码的主要手段,保存本地的同时,保存服务器上的代码,极大方便了开发;同时也支持目录同步、多文件同步以及删除同步。

  • 第一步,打开 Options 配置项

    file

    file

  • 第二步,设置 ctrl + s 同步操作

    file

  • 最后,即可本地修改代码,然后在 ctrl + s 后,访问 IP:8080

    file

    file

本作品采用《CC 协议》,转载必须注明作者和本文链接
时空扭曲, 到底长啥样.
本帖由系统于 5年前 自动加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 17

配图这么详细,简直业界良心

勾选这个也可以

file

5年前 评论
falling-ts

@lovecn 嗯嗯,是滴

5年前 评论

正好有个问题需要用到这个功能,尝试一下

5年前 评论

可以可以,目前在测试环境就是需要用到比对,感觉太麻烦了😂

5年前 评论
falling-ts

@会飞的猪 更新不需要对比的。我写对比,是为了体现这个功能能够用而已。你直接 ctrl+s,本地保存的同时,服务器也会保存

5年前 评论

不推荐这种骚操作~~ 一个人的项目除外

5年前 评论

这种只适合一个人开发项目吧 多人的就不行了?

5年前 评论
falling-ts

@var_dump 多人开发要据实际情况而定。比如,你们项目有一个生产环境和一个开发环境,而这两个环境都是搭建在服务器上的。平时开发用的开发环境,测试通过,合并到生产环境上。这时候,找一个人(项目经理)与开发环境做同步,其他人不要同步,所用人用 git 做代码管理,当所有人开发完毕,最后找的那个人(项目经理)用 git 做好了代码同步,然后在与服务器做最后代码同步,然后测试。。。。

5年前 评论

我感觉这个用deployment同步+git更方便,可以commit同时一键上传服务端。

5年前 评论

以前使用deployment自动上传,现在公司代码不再使用ftp管理,现在使用git+webhook自动更新和git+mtrops手动更新代码,相比之下各有优劣

  • deployment 保存代码即更新,单打独斗很适合,多人同时开发是容易覆盖对方的代码
  • git+webhook或者git+mtrops 方式更适合多人同时开发,更新相对deployment要git先提交到远程代码库,再更新
5年前 评论
Complicated

@var_dump 多人也可以,每个人做每个人的模块,不想共用文件应该没问题

5年前 评论

一直在用这玩意 很方便

5年前 评论

你好,想问一下上面这种方法,如果涉及到分支切换,每次切换分支后是不是得重新选择一下deployment,目前我是这样,不知道是不是我的使用方式不对,感觉这样比较不方便

4年前 评论
falling-ts

@yufatang 是的,这个本质就是 FTP 上传,分支切换是 git 上的,两个不是一种东西

4年前 评论

最近尝试了这种方法,PHPstorm设置自动上传,还挺顺溜的,打开PHPstorm就可开始撸代码,即刻预览。我的组合:阿里云t5实例,PHPstorm,xshell,docker-compose搭环境,安装扩展、artisan和npm命令都登录到云主机的容器里执行,速度快。有个问题就是安装扩展后,要同步vendor目录回到本地,文件多的话有点耗时。还有node_module目录设置成不同步。

4年前 评论

docker 容器内的代码 如何 ps打开,docker 装了 ftp 宿主机连不上

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!