Laravel集成Swoole教程
1.准备工作
安装 Laravel
laravel new laravel-swoole
本人使用 valet 进行开发,可以使用
laravel-swoole.test
进行访问
2.引入 swoole
具体的 swoole 安装请移步官网进行下载,编译,安装,这里不多阐述了。
1. 在项目更目录创建一个 server 文件夹,然后在该文件夹中创建 http_server.php 文件,具体的文件内容如下
<?php
$http = new swoole_http_server('127.0.0.1', 9501);
$http->set([
'worker_num' => 8,
'max_request' => 5000,
// 'document_root' => '/Users/apple/Code/Teacher_Project/swoole_live/resources/live/',
// 'enable_static_handler' => true,
]);
//工作进程启动
$http->on('WorkerStart', function ($serv, $worker_id) {
//加载index文件的内容
require __DIR__ . '/../vendor/autoload.php';
require_once __DIR__ . '/../bootstrap/app.php';
});
//监听http请求
$http->on('request', function ($request, $response) {
//server信息
if (isset($request->server)) {
foreach ($request->server as $k => $v) {
$_SERVER[strtoupper($k)] = $v;
}
}
//header头信息
if (isset($request->header)) {
foreach ($request->header as $k => $v) {
$_SERVER[strtoupper($k)] = $v;
}
}
//get请求
if (isset($request->get)) {
foreach ($request->get as $k => $v) {
$_GET[$k] = $v;
}
}
//post请求
if (isset($request->post)) {
foreach ($request->post as $k => $v) {
$_POST[$k] = $v;
}
}
//文件请求
if (isset($request->files)) {
foreach ($request->files as $k => $v) {
$_FILES[$k] = $v;
}
}
//cookies请求
if (isset($request->cookie)) {
foreach ($request->cookie as $k => $v) {
$_COOKIE[$k] = $v;
}
}
ob_start();//启用缓存区
//加载laravel请求核心模块
$kernel = app()->make(Illuminate\Contracts\Http\Kernel::class);
$laravelResponse = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
$laravelResponse->send();
$kernel->terminate($request, $laravelResponse);
$res = ob_get_contents();//获取缓存区的内容
ob_end_clean();//清除缓存区
//输出缓存区域的内容
$response->end($res);
});
$http->start();
在路由文件加入路由:
Route::get('/test1', 'UsersController@test');
Route::get('/test2','UsersController@test2');



链接:https://pan.baidu.com/s/1v5gm7n0L7TGyejCmQrMh2g 提取码:x2p5
免费分享,但是X度限制严重,如若链接失效点击链接或搜索加群 群号518475424。
在控制器添加方法:
/**
* 测试1
* @param Request $request
* @return string
*/
public function test(Request $request)
{
return view('test');#在你的视图文件夹创建test.blade.php
}
/**
* 测试2
* @param Request $request
* @return string
*/
public function test2(Request $request)
{
return 'Hello World2:' . $request->get('name');
}
3. 启动 swoole
在终端下输入:
php server/http_server.php
访问浏览器:
http://127.0.0.1:9501/test1 http://127.0.0.1:9501/test2?name=Jelly
对应的结果如下:
访问 test1 路由

访问 test2 路由

Laravel集成Swoole教程的更多相关文章
- Laravel 5.2 教程 - 队列
一.简介 Laravel 队列组件提供一个统一的 API 集成了许多不同的队列服务,队列允许你延后执行一个耗时的任务,例如延后至指定的时间才发送邮件,进而大幅的加快了应用程序处理请求的速度. 由于本例 ...
- Laravel通过Swoole提升性能
1.安装配置laravel 1.1.composer下载laravel composer create-project --prefer-dist laravel/laravel blog " ...
- Spring+SpringMvc+Mybatis框架集成搭建教程
一.背景 最近有很多同学由于没有过SSM(Spring+SpringMvc+Mybatis , 以下简称SSM)框架的搭建的经历,所以在自己搭建SSM框架集成的时候,出现了这样或者那样的问题,很是苦恼 ...
- Teamcity+SVN+VisualStudio在持续集成简明教程
Teamcity+SVN+VisualStudio持续集成 简明教程 一.写在最前: 1. 各组件版本号例如以下: Teamcity(简称tc)版本号:8.1.4 SVN版本号:Tortoi ...
- Laravel 5.2 教程 - 文件上传
一.简介 Laravel 有很棒的文件系统抽象层,是基于 Frank de Jonge 的 Flysystem 扩展包. Laravel 集成的 Flysystem 提供了简单的接口,可以操作本地端空 ...
- 2016 版 Laravel 系列入门教程
2016 版 Laravel 系列入门教程 (1) - (5) http://www.golaravel.com/post/2016-ban-laravel-xi-lie-ru-men-jiao-ch ...
- laravel 整合 swoole ,并简单 ab 测试对比性能以及在 PHPstorm 中利用debug调试配置swoole服务中的PHP代码
安装PHP 的 swoole 扩展 及 安装 laravel,就不描述了 整合 laravel 和 swoole 用了这个轮子,侵入性很小,一行代码搞定,推荐一下,今天刚用,不能预测未来是否会遇见坑 ...
- Laravel 集成 JPush 极光推送指北
我是一个 Laravel 小白,我是一个 Laravel 小白,我是一个 Laravel 小白(默念三遍再往下读,如果非小白就不用看了). Laravel 使用 Composer 来管理代码依赖.所以 ...
- SpringBoot系列之集成Mybatis教程
SpringBoot系列之集成Mybatis教程 环境准备:IDEA + maven 本博客通过例子的方式,介绍Springboot集成Mybatis的两种方法,一种是通过注解实现,一种是通过xml的 ...
随机推荐
- PIE SDK影像快速拼接
1.算法功能简介 快速拼接是对若干幅互为邻接的遥感数字图像拼在一起,构成一幅整体影像的技术过程.PIE支持快速拼接算法功能的执行,下面对快速拼接算法功能进行介绍. 2.算法功能实现说明 2.1 实现步 ...
- #pragma once和#ifndef
C语言中的头文件只是简单的复制粘贴. C语言中变量.函数.结构体的定义和声明两个过程是分离的.声明通常放在头文件中,为了防止重复声明,需要保证头文件中的内容在构建obj文件时只被包含一次.这可以通过# ...
- javascript获取url中的参数值
javascript的实现代码如下: function QueryString(fieldName) { var urlString = document.location.search; if(ur ...
- 学习笔记之知识图谱 (Knowledge Graph)
Knowledge Graph - Wikipedia https://en.wikipedia.org/wiki/Knowledge_Graph The Knowledge Graph is a k ...
- css实现图片信息展示
<style> .layui-fluid{padding: 15px;} .img-responsive{display: block;width: 100%;max-width: 100 ...
- Objective-C的self.用法
转自:http://mobile.51cto.com/iphone-313096.htm 进入正题, 我们经常会在官方文档里看到这样的代码: MyClass.h @interface MyClass ...
- vue多个路由使用同一个页面,通过name判断参数,渲染页面数据
项目中,发现有多个页面的数据内容相同,只是请求数据的参数不同,就可以使用同一个组件来渲染 这里的客户列表 / 我负责的 / 我参与的 都使用同一个组件,不同点在请求数据的参数 可以看到,通过钩子函数, ...
- zookeeper中的QuorumPeerMain解析
https://www.cnblogs.com/7758521gorden/p/8006983.html zookeeper中的QuorumPeerMain解析 在一个初级的hadoop与zook ...
- 人生物语——哲海拾贝
如今的这个社会,物欲横流.纸醉金迷.浮躁不安是这个时代的主旋律,在这样一个浮华年代的大染缸里,每个人内心都有那么一颗浮躁不安分的种子,或许它才开始发芽,或许它已经占据了你的心灵,人生当中追求 ...
- Linux下源码编译Mysql5.7
1.安装依赖包 yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgc ...