工作原因已经很久没有写博客了, 最近在研究swoole相关的东西, 又得空, 正好来写一篇. 没什么深度.
最近在研究swoole, 偶尔需要写点测试代码来测试. 因为swoole不支持windows, 所以需要跑到linux下开个vim写. 总体来说, 还是没有windows下sublime+ctrlB来的爽. 所以想了个办法:
windows + sublime + docker(php+swoole)
说是Windows下执行swoole, 其实实际还是linux下执行swoole.
首先是安装Docker for windows, 里面装个CentOS + php + swoole的镜像.
具体的过程我这里就不写出来了. https://www.docker.com/products/docker
完了之后把本地的G:\html\挂载到容器的/usr/local/nginx/html/目录. (这里的目录以自己的目录为准)
Sublime安装一个新的构建系统
系统新的构建系统的教程请看: http://www.zeroplace.cn/article.asp?id=971
写一个python脚本, 名为remote_php.py,用于把执行docker命令. 主要是把本地路经转为容器路径.
# -*- coding: utf8 -*-
import sys
import subprocess
mapper = [
["G:\\html\\", "/usr/local/nginx/html/"]
]
phpFileName = sys.argv[1]
for mapping in mapper:
phpFileName = phpFileName.replace(mapping[0], mapping[1])
phpFileName = phpFileName.replace("\\", "/")
subprocess.call(["docker", "exec", "lnmp_pro", "php", phpFileName])
把创建一个新的构建系统, 名为PHP_in_docker
{
"shell_cmd": "C:/Python27/python.exe G:/html/scripts/remote_php.py $file"
}
最后一步,就是把当前的构建系统选为PHP_in_docker (Tools > Build System > PHP_in_docker)
写上你的swoole代码,然后ctrl+b就可以执行并看到执行结果了.