135 lines
4.7 KiB
Markdown
135 lines
4.7 KiB
Markdown
---
|
|
title: swoole学习笔记(二)-开发环境配置
|
|
---
|
|
|
|
> swoole 可以跑了,然后开始弄开发环境
|
|
|
|
> 后面的 xdebug,在协程中 tm 不能用!...有挺多问题的,不推荐配置了,写 log 吧
|
|
|
|
## 代码自动上传
|
|
|
|
我的开发环境一般是 windows,phpstorm,然而我的树莓派和 swoole 的环境又不在一起,这时候就可以用 phpstorm 的一个功能,可以自动同步代码
|
|
|
|
File->setting->Deployment
|
|
|
|
添加一个,选择 sftp,然后输入 pi 的信息
|
|
|
|

|
|
|
|

|
|
|
|

|
|
|
|
添加好服务器后,再设置 options
|
|
|
|

|
|
|
|
自动上传就配置好了,当你保存的时候就会自动上传到服务器
|
|
|
|

|
|
|
|
## 代码自动提示
|
|
|
|
> 对于我这种百度型程序员,自动提示是必不可少的
|
|
|
|
### swoole-ide-helper
|
|
|
|
https://github.com/eaglewu/swoole-ide-helper
|
|
|
|
这是一个**Swoole 在 IDE 下自动识别类、函数、宏,自动补全函数名**
|
|
|
|
#### 安装方法
|
|
|
|
##### phpstrom
|
|
|
|
将项目 clone 或者直接下载下来,解压
|
|
|
|

|
|
|
|

|
|
|
|
##### 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 就算安装成功了
|
|
|
|

|
|
|
|
### phpstorm 配置
|
|
|
|
setting 中 php 配置,设置一下远程 cli
|
|
|
|

|
|
|
|
在之前已经配置了远程自动同步的话,这里是会有服务器可以选择的
|
|
|
|

|
|
|
|
点击 OK 之后,phpstorm 会自动获取远程的 php 信息,如下
|
|
|
|

|
|
|
|
之后选择我们刚刚添加的(我重命名了 pi_zero php7.2)
|
|
|
|

|
|
|
|
然后下方的 path mappings,也需要设置(我这里默认设置好了),对本地与远程的目录进行映射
|
|
|
|

|
|
|
|
xdebug 的端口 9000,一开始就是这样的,如果你改了的话,这里注意也改一下
|
|
|
|

|
|
|
|
这些配置好之后就可以开始配置调试选项了
|
|
|
|

|
|
|
|
配置启动文件
|
|
|
|

|
|
|
|
之后就可以开始调试了,在我们的源码下下断点,然后点击调试按钮,成功~!
|
|
|
|

|
|
|
|
当收到信息/连接的时候:
|
|
|
|

|
|
|
|
非常舒服,嘿嘿嘿
|
|
|
|

|