--- title: swoole学习笔记(二)-开发环境配置 --- > swoole 可以跑了,然后开始弄开发环境 > 后面的 xdebug,在协程中 tm 不能用!...有挺多问题的,不推荐配置了,写 log 吧 ## 代码自动上传 我的开发环境一般是 windows,phpstorm,然而我的树莓派和 swoole 的环境又不在一起,这时候就可以用 phpstorm 的一个功能,可以自动同步代码 File->setting->Deployment 添加一个,选择 sftp,然后输入 pi 的信息 ![](img/02-%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE.assets/TIM%E6%88%AA%E5%9B%BE20180620131748-300x204.png) ![](img/02-%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE.assets/TIM%E6%88%AA%E5%9B%BE20180620132024-1-300x204.png) ![](img/02-%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE.assets/TIM%E6%88%AA%E5%9B%BE20180620132024-2-300x204.png) 添加好服务器后,再设置 options ![](img/02-%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE.assets/TIM%E6%88%AA%E5%9B%BE20180620133255-300x204.png) 自动上传就配置好了,当你保存的时候就会自动上传到服务器 ![](img/02-%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE.assets/TIM%E6%88%AA%E5%9B%BE20180620133409-300x96.png) ## 代码自动提示 > 对于我这种百度型程序员,自动提示是必不可少的 ### swoole-ide-helper https://github.com/eaglewu/swoole-ide-helper 这是一个**Swoole 在 IDE 下自动识别类、函数、宏,自动补全函数名** #### 安装方法 ##### phpstrom 将项目 clone 或者直接下载下来,解压 ![](img/02-%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE.assets/TIM%E6%88%AA%E5%9B%BE20180622124636-300x216.png) ![](img/02-%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE.assets/TIM%E6%88%AA%E5%9B%BE20180622124713-300x227.png) ##### composer 要是你的项目中使用了 composer,你可以直接 ```bash composer require --dev "eaglewu/swoole-ide-helper:dev-master" ``` ## 远程调试配置 > 虽然可以通过 echo 之类的来调试,但是断点调试也是必不可少的 ### XDebug 安装 [https://github.com/xdebug/xdebug](https://github.com/xdebug/xdebug) ```bash wget https://github.com/xdebug/xdebug/archive/2.6.0.tar.gz tar -zxvf 2.6.0.tar.gz cd xdebug-2.6.0/ ./configure --with-php-config=/usr/local/php/bin/php-config make && make install ``` 然后在 php.ini 中配置 ```toml zend_extension=xdebug.so [xdebug] xdebug.remote_enable=true xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 xdebug.remote_handler=dbgp ``` 保存之后`php -m`,出现 xdebug 就算安装成功了 ![](img/02-%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE.assets/TIM%E6%88%AA%E5%9B%BE20180622161650-300x203.png) ### phpstorm 配置 setting 中 php 配置,设置一下远程 cli ![](img/02-%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE.assets/TIM%E6%88%AA%E5%9B%BE20180622161818-300x204.png) 在之前已经配置了远程自动同步的话,这里是会有服务器可以选择的 ![](img/02-%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE.assets/TIM%E6%88%AA%E5%9B%BE20180622162052-300x107.png) 点击 OK 之后,phpstorm 会自动获取远程的 php 信息,如下 ![](img/02-%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE.assets/TIM%E6%88%AA%E5%9B%BE20180622162146-300x246.png) 之后选择我们刚刚添加的(我重命名了 pi_zero php7.2) ![](img/02-%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE.assets/TIM%E6%88%AA%E5%9B%BE20180622162303-300x204.png) 然后下方的 path mappings,也需要设置(我这里默认设置好了),对本地与远程的目录进行映射 ![](img/02-%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE.assets/TIM%E6%88%AA%E5%9B%BE20180622162622-300x108.png) xdebug 的端口 9000,一开始就是这样的,如果你改了的话,这里注意也改一下 ![](img/02-%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE.assets/TIM%E6%88%AA%E5%9B%BE20180622162413-300x107.png) 这些配置好之后就可以开始配置调试选项了 ![](img/02-%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE.assets/TIM%E6%88%AA%E5%9B%BE20180622162413-1-300x203.png) 配置启动文件 ![](img/02-%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE.assets/TIM%E6%88%AA%E5%9B%BE20180622162829-300x254.png) 之后就可以开始调试了,在我们的源码下下断点,然后点击调试按钮,成功~! ![](img/02-%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE.assets/TIM%E6%88%AA%E5%9B%BE20180622163913-300x219.png) 当收到信息/连接的时候: ![](img/02-%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE.assets/TIM%E6%88%AA%E5%9B%BE20180622164021-300x238.png) 非常舒服,嘿嘿嘿 ![](img/02-%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE.assets/1LE84QO9K@A1N9.jpg)