![Web代码安全漏洞深度剖析](https://wfqqreader-1252317822.image.myqcloud.com/cover/20/40868020/b_40868020.jpg)
1.4 phpStorm远程连接Docker容器
为了方便调试代码,还需要设置IDE编辑器连接Docker进行代码实时调试修改。
1.4.1 配置Docker SSH服务
开启一个CentOS的Docker容器,执行如下命令:
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/014-3-i.jpg?sign=1739347833-WDbKXdlpblkrL9BtppphD7gzbmDLEOmb-0-4a28a2edce684988ed7215d85802b776)
使用安装指令进行openssh的服务安装,执行如下命令:
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/014-4-i.jpg?sign=1739347833-5tK5sntBr3rjhJTYohqR13Wtt1P4sptr-0-0d0b31dcbf42055617cfeb3fe154a2ee)
开启SSH服务,执行如下命令:
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/014-5-i.jpg?sign=1739347833-bp1QlFapHs2kcFkhyYxyEKafzj008Kd7-0-6bbf9fed7a92a346235065212c9db7d4)
输入命令设置密码如下:
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/014-6-i.jpg?sign=1739347833-003pkb1YJz3mP7wPc5XlaKOy5woPuMjU-0-f57c09232412fbc9e5ec85ae605ed2de)
执行好以后,成功开启CentOS的Docker容器,如下所示:
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/014-7-i.jpg?sign=1739347833-HtUrMxVNpddeCXqPAAa0cFzQHnnsSnry-0-18802e821c313ae8cf386b57007b2b30)
先在本地测试是否可以连接,命令如下:
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/014-8-i.jpg?sign=1739347833-WXvOKgtZgBaNJDHy7xk79PIzN0nfuRn0-0-b14f309762280faa34e121ec4d65b699)
执行好以后,检查本地测试连接,如下所示:
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/015-i.jpg?sign=1739347833-YPeDV2D8JXEAxXyKMC0znjTvNxPatk9J-0-9e35bb96af8857d75f317e0e0671ec45)
1.4.2 使用phpStorm连接Docker
本节将介绍如何使用phpStorm连接Docker,具体操作如下。打开phpStorm并建立新项目,如图1-12所示。
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-12.jpg?sign=1739347833-JwKe6W6eFoG2VVKTQbtAIzVuZNHsYs9I-0-01a58cdf3c3e8711cda3467f11d15ac3)
图1-12 打开phpStorm并建立新项目
出现创建新工程的选项页面,如图1-13所示。
项目名称和本地路径设置如图1-14所示。
配置Docker容器的SSH连接信息和路径,如图1-15所示。
配置Project Root,如图1-16所示。
之前已经填写过目录,此处选择默认即可,如图1-17所示,配置完成。
配置完成后,目录里的文件就会加载到phpStorm和本地目录里,如图1-18所示。
点击File→Settings,并且搜索options,将Upload changes files automatically to the default server设置为Always。该选项用于支持实时修改更新到容器,如图1-19所示。
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-13.jpg?sign=1739347833-Dsoa14qdNBeNsWAZbi7AzvVABh7M3VNi-0-62566c2a9dbbd31f27a6691cb4d8a41b)
图1-13 创建新项目的选项
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-14.jpg?sign=1739347833-TB9Rihzjct50QLJ2GPB8xrcZwspoV4Fh-0-965761694c7042f7e36bc919206f23fa)
图1-14 填写项目名称和本地路径
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-15.jpg?sign=1739347833-YC1LlvoIBbeNLQ6gcTcJ5EYkgb1mq2l3-0-2a25a77f3bd059726efac894a6e3a239)
图1-15 配置Docker容器的SSH连接信息和路径
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-16.jpg?sign=1739347833-uGOdg3KkNwKgiL7bWrAfOkc4epK8hvv1-0-c0caaf7b1b4470f67b016f1bf7b8068e)
图1-16 配置Project Root
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-17.jpg?sign=1739347833-ouGq0WelDObgTLp3SjnTw3QEo25DVnn5-0-3dc4a1f90eb6643887117934d37cc283)
图1-17 配置完成
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-18.jpg?sign=1739347833-o2f3hTqlZ13SNWXHWLbnMclcfH0TiBCS-0-ec332e51f04291ae4378bbf81930a9aa)
图1-18 文件加载进phpStorm
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-19.jpg?sign=1739347833-wPMYwgbfObYsg11liIHxHTngX9mCc7Dj-0-6899d323771721b89d5bb0efe87a2c4d)
图1-19 实时修改更新到容器
新建一个phpinfo测试一下,可以看到有实时上传数据,同时能正常访问phpinfo.php,如图1-20所示。
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-20.jpg?sign=1739347833-tudt6qOAs7MHeaXApadBn2f447Jz60vE-0-a2d65a8c52dc8280dfe4be16fb28ef3c)
图1-20 PHP代码测试图