IDEA 远程实时同步 ThinkPHP 代码进行开发

项目还在坚持 PHP7.4,但玩 ThinkPHP8 需要 PHP8 以上,不想电脑太混乱了,所以考虑通过远程实时同步代码进行开发。配合上 Docker ,在环境方面真的很方便。

这里我使用的是最新版,目前是 2023.2 最新版。现在我们通过顶部的菜单栏进入设置,然后新增一个 SSH 主机。

然后再通过菜单栏-》工具-》部署-》配置。新建一个 SFTP。

前往右侧的项目目录,我们在它的头上,右键选择部署,然后选择刚才配置的 SFTP。

好像同步了些不需要的文件夹上去,我们通过菜单栏 -> 工具 -> 选项。通过名称排查项,里面追加 runtime; vendor; 。然后再试一下就可以了。

好了,现在我们去远程服务器上看看,代码已经同步过去了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$ pwd
/root/web
$ ls -l
total 108
drwxr-xr-x 7 root root 4096 Aug 4 23:55 app
-rw-r--r-- 1 root root 1307 Aug 2 14:00 composer.json
-rw-r--r-- 1 root root 52193 Aug 2 14:00 composer.lock
drwxr-xr-x 2 root root 4096 Aug 4 23:55 config
-rw-r--r-- 1 root root 264 Aug 2 19:35 Dockerfile
-rw-r--r-- 1 root root 289 Aug 2 19:06 ecosystem.config.js
drwxr-xr-x 2 root root 4096 Aug 4 23:55 extend
-rw-r--r-- 1 root root 1822 Jun 30 21:44 LICENSE.txt
drwxr-xr-x 3 root root 4096 Aug 4 23:55 public
-rw-r--r-- 1 root root 393 Aug 2 23:00 README.md
drwxr-xr-x 2 root root 4096 Aug 4 23:55 route
drwxr-xr-x 5 root root 4096 Aug 4 23:55 runtime
-rw-r--r-- 1 root root 181 Jul 5 10:37 think
drwxr-xr-x 7 root root 4096 Aug 5 00:01 vendor
drwxr-xr-x 2 root root 4096 Aug 5 00:02 view

然后要怎么运行,这里我们提供了可以带有调试功能的 Docker 镜像,我们可以运行然后挂载进行使用。

1
2
3
4
5
$ docker run --rm -it --name hongfs-tp -p 8000:8000 -w /web/ -v ~/web/:/web/ ghcr.io/hongfs/env:php82-cli-debug /bin/bash -c "composer install -vvv && php think run"
ThinkPHP Development server is started On <http://0.0.0.0:8000/>
You can exit with `CTRL-C`
Document root is: /web/public
[Sun Aug 6 02:37:58 2023] PHP 8.2.8 Development Server (http://0.0.0.0:8000) started

好的,启动成功了,那我们进行访问看看。

好了,现在我们要配置下自动同步。 这里我们通过菜单栏 -> 工具 -> 部署 -> 自动上传。然后选择我们刚才配置的 SFTP。

修改了下文件,可以看见右下角是有提示的。

往上