## 常规安装
常驻内存模式、协程模式的 HTTP 开发都使用该方法安装。
## 环境要求
>[success] 必须的
- PHP 版本 >= 7.0
- Swoole >= 1.9.5 (常驻同步模式)
- Swoole >= 4.2.2 (常驻协程模式)
- mbstring 扩展
>[success] 可选的
- Composer (修改一级目录,安装第三方库需要)
- gd 扩展 (Image组件需要)
- pdo 扩展 (Pdo组件需要)
- redis 扩展 (Redis组件需要)
## 环境搭建
### 1. 安装 Swoole 扩展
pecl 在 php/bin 目录,国内 pecl 安装 swoole 有时很慢,如果无法忍受,可选择 [编译安装](https://wiki.swoole.com/wiki/page/6.html)。
~~~shell
$> pecl install swoole
~~~
### 2. 安装 MixPHP
使用 [composer](https://www.phpcomposer.com/) 安装,但是一般情况下,`composer` 安装的是最新的稳定版本,不一定是最新版本。
```shell
composer create-project mixstart/mixphp --prefer-dist
```
如果你需要安装实时更新的版本:
```shell
composer create-project mixstart/mixphp=v1.1.1 --prefer-dist
```
入口文件安装至 `/usr/local/bin`,(可选,不安装可直接执行入口文件)。
```shell
$> cd /data/mixphp-master
$> chmod 777 install.sh
$> ./install.sh
```
### 3. 确认安装成功
启动 mix-httpd 服务器。
>[info] - 请使用 root 账号启动 mix-httpd。
> - 初次部署建议不使用 `-d` 参数,这样能方便发现目录权限不足,路径不对等系统级错误问题。
~~~shell
$> mix-httpd service start -d
~~~
访问测试:
~~~shell
$> curl http://127.0.0.1:9501/
Hello World
~~~
如果显示 "Hello World" 的欢迎语那就表示 MixPHP 已经正常运行。
### 4. 增加 Nginx 反向代理
~~~shell
server {
server_name www.test.com;
listen 80;
root /data/mixphp/apps/httpd/public;
location / {
proxy_http_version 1.1;
proxy_set_header Connection "keep-alive";
proxy_set_header Host $http_host;
proxy_set_header Scheme $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
if (!-f $request_filename) {
proxy_pass http://127.0.0.1:9501;
}
}
}
~~~
>[info] 在 MixPHP 中通过读取 Request::header('x-real-ip') 或者 Request::header('x-forwarded-for') 来获取客户端的真实IP。
## Swoole IDE 自动补全
这个不是必须安装的,只是能方便在需要写一些原生 Swoole 时,能让 IDE 自动补全,很方便的一个工具,推荐安装。
[>> 到 GitHub 下载 swoole-ide-helper-phar <<](https://github.com/mixstart/swoole-ide-helper-phar)
- 欢迎使用 MixPHP
- 安装说明
- 常规安装
- 只安装命令行
- Apache/PHP-FPM安装
- 开发与调试
- 开发注意事项
- 调试与错误
- 基础架构
- 目录结构
- 目录设计
- URL访问
- 命名空间
- 自动加载
- 入口文件
- 框架核心
- Application
- 配置
- 对象
- 组件
- 门面
- 系统服务
- 中间件
- 验证器
- 验证器定义
- 验证规则
- 静态调用
- 模型
- 日志
- 命令行
- 简介
- 命令行开发常识
- 创建命令
- 执行与选项
- 控制台程序
- 守护程序
- HTTP 服务
- 简介
- 服务器
- 路由
- 请求
- 响应
- 控制器
- 视图
- Token
- Session
- Cookie
- 文件上传
- 图片处理
- 分页
- 验证码
- WebSocket 服务
- 简介
- 回调函数
- 消息处理器
- 客户端测试
- nginx代理
- 60s无消息断线
- 多进程
- ProcessPoolTaskExecutor
- 流水线模式
- 推送模式
- 在 Supervisor 中使用
- 协程
- 简介
- 如何开启协程
- HTTP 协程开发
- 命令行协程开发
- 客户端
- MySQL
- PDO
- PDOPersistent
- PDOMasterSlave
- PDOCoroutine
- Redis
- Redis
- RedisPersistent
- RedisCoroutine
- 外部工具库
- 简介
- think-orm
- psr-log
- 安全建议
- 常见问题
- 启动多个 HTTP 服务器
- 连接多个数据库
- 如何设置跨域
- mix-httpd service stop 无效
- No such file or directory
- 错误级别配置不生效
- 推进计划
- 文档历史