安装swoft
环境要求
安装PHP并且版本至少 >7.1
安装php包管理器 composer
连接迭代器依赖 pcre 库
安装php扩展swoole, 并且版本至少 >4.3.0
其他需要安装和启用的php扩展有:PDO redis
有冲突的
下面列出一些已知的和swoole有冲突的php扩展,请使用swoft时不要安装或禁用它们:
xdebug
xhprof
blackfire
zend
trace
uopz
我在安装时出现了blackfire冲突
该扩展在这个下面(/etc/php5/conf.d/90-blackfire.ini 注释extension-blackfire.so)
composer 安装
composer create-project swoft/swoft swoft
手动安装
git clone https://github.com/swoft-cloud/swoft
cd swoft
composer install --no-dev # 不安装 dev 依赖会更快一些
cp .env.example .env
vim .env # 根据需要调整启动参数
docker-composer安装(必须安装了docker和docker-composer)
git clone https://github.com/swoft-cloud/swoft
cd swoft
docker-compose up
docker 安装
git clone https://github.com/swoft-cloud/swoft
cd swoft
docker-compose up
安装完后,进入项目中,直接输入php bin/swoft http:start 启动项目 在浏览器直接输入ip:端口号 即可访问
也可以使用Nginx代理
server {
listen 80;
server_name www.site.dev site.dev;
root /path/to/your-project/public;
index index.html index.htm;
error_log logs/site.dev.error.log;
access_log logs/site.dev.access.log;
##### 第一个必选规则: 匹配首页
location = / {
proxy_pass http://127.0.0.1:9501;
}
##### 第二个必选规则: 处理静态文件请求,这是nginx作为http服务器的强项
# 有两种配置模式,目录匹配或后缀匹配,任选其一或搭配使用
# location ^~ /static/ {
# root /path/to/your-project/static/;
# }
location ~* \.(js|css|map|png|jpg|jpeg|gif|ico|ttf|woff2|woff)$ {
expires max;
# root /path/to/your-project/static/;
# log_not_found off;
access_log off;
}
##### 通用规则: 上面的都不匹配
location / {
# try_files $uri $uri/;
# proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
# proxy_set_header Upgrade $http_upgrade;
# proxy_set_header Connection "upgrade";
proxy_set_header Connection "keep-alive";
# 没有找到文件就转发到 swoole server
# 也可去掉 if. 全部转发到后端server
if (!-e $request_filename){
proxy_pass http://127.0.0.1:9501;
}
}
}
可以复制后,修改相应的参数,并在etc/hosts添加域名,即可用域名访问