blog/docs/note/learn/swoole学习笔记/02-开发环境配置.md
2024-03-22 17:42:41 +08:00

135 lines
4.7 KiB
Markdown

---
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)