![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=1738935266-4s0xtaG32l3tisddsBP2OAJtUqJnVPP9-0-b496292caaa780d20b62a3703799f379)
使用安装指令进行openssh的服务安装,执行如下命令:
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/014-4-i.jpg?sign=1738935266-0EiIgDRUmDyhWPNnpXOsmEXRMjnUjNnz-0-218443b52c55b93616687f34d02e09a9)
开启SSH服务,执行如下命令:
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/014-5-i.jpg?sign=1738935266-YQ36Q8h4XbX2srxJTal9w1V8TzZbTRva-0-515a13ddb429d41ba35ebbcfed1d468a)
输入命令设置密码如下:
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/014-6-i.jpg?sign=1738935266-LWr36QlEEUvOH9huVWaBVHoIw6ckIsxI-0-ab5f26bb37a38cc8f99e3e5035af512d)
执行好以后,成功开启CentOS的Docker容器,如下所示:
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/014-7-i.jpg?sign=1738935266-3ifFWlUQVlzFQIsRmsxv4Ul9Qx45RhJI-0-bd79961172f5d0c799f0203d8fa663b1)
先在本地测试是否可以连接,命令如下:
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/014-8-i.jpg?sign=1738935266-s1pUlDWSYEjPyZuCEOqez2vMkgKQgYMV-0-4535d9076ee4c5c8285bbac244c3d48b)
执行好以后,检查本地测试连接,如下所示:
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/015-i.jpg?sign=1738935266-Lz3PCLdbbkfju3f1tgVaOTeW4V2DVBfG-0-9c3bf5d878dd153b2aa99371cea23872)
1.4.2 使用phpStorm连接Docker
本节将介绍如何使用phpStorm连接Docker,具体操作如下。打开phpStorm并建立新项目,如图1-12所示。
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-12.jpg?sign=1738935266-JTrGq57sGcpkxvGb0vw5o2xQhvjkuO8o-0-7398fe53443fd5b4a83dba67a88a8061)
图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=1738935266-0OhT49Mr4lRsOzVR0L0jGOBrOOJgcb3g-0-546b75146acb567add9053aaf2296b81)
图1-13 创建新项目的选项
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-14.jpg?sign=1738935266-LdPYnhI0xQh9WIIEu4SzH3sPkscL3MZV-0-804d0835f33b217e8f5eaa9d42330118)
图1-14 填写项目名称和本地路径
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-15.jpg?sign=1738935266-4m7OpZUnihLL2U3oBJeaXMLd409ghgIo-0-538ee88ec678b43ee3ad187ebd8f3ea5)
图1-15 配置Docker容器的SSH连接信息和路径
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-16.jpg?sign=1738935266-ubqb0JSpFJp3hdkdsd86caqBpbjJmHT7-0-ed826066487dfccfca77fc76f098cb2f)
图1-16 配置Project Root
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-17.jpg?sign=1738935266-aHNv9ood1fHXD52MSWXx5KDSpAVeZNku-0-4421c9d66d13b8ec56eac6de98e69108)
图1-17 配置完成
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-18.jpg?sign=1738935266-KJLM8ciW8u7QbVHvmIT72mhCc17z5CfV-0-55c96d9c972062207709ebec9a2c59b1)
图1-18 文件加载进phpStorm
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-19.jpg?sign=1738935266-Dsz8TFvnzqyXEGXzmBDf2lh1lKb4BdWx-0-1755de9f65d5f77e64789cc11364e902)
图1-19 实时修改更新到容器
新建一个phpinfo测试一下,可以看到有实时上传数据,同时能正常访问phpinfo.php,如图1-20所示。
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-20.jpg?sign=1738935266-IUQcZy7bgfn0MWBOBaK7e0DbPLg2f9nY-0-dd97aa6d5e14b804a93214e0bd72a7e2)
图1-20 PHP代码测试图