MENU

分类 PHP 下的文章

FastCGI协议

前言

最近采用C++开发一个webserver,功能类似于nginx。支持其中的多站点host、反向代理、负载均衡、支持cgi、支持session、cookie。支持FastCGI,类似nginx可以监听9000端口连接php-fpm,因此查资料找相关FastCGI协议相关。

CGI及FastCGI相关知识点

  • CGI(common gateway interface)通常翻译为共同网关接口:是Web Server与后台编程语言交互的一种协议。但是CGI有一个致命的缺点,就是每处理一个请求度需要fork一个进程,不断地fork是一项很消耗时间和资源的工作,这样低效的方式明显不能满足需求。
  • FastCGI是一个常驻型的CGI,可以一直执行,只要激活后,不会每次都花时间去fork一次,而且还支持分布式运算。

学习过PHP的童鞋都知道在PHP有个叫php-fpm,它是FastCGI在PHP中的一种实现。我们常常在nginx中配置fastpass 127.0.0.1:9000,其实nginx将动态语言交由PHP处理。

阅读全文

RPC框架thrift在PHP结合Laravel使用

前言

前面对于thrift的基本有大致了解,现在小试牛刀吧。

实现过程

  • 新建一个Laravel项目
  • 编写thrift接口文件并且保存为sayHello.thrift(Server端以及Client端接口保持一样)

    原则上Server端以及Client端是分开在两个Laravel项目的,博主这里为了简单一点就直接一个laravel项目上包括两个啦。所以在thrift命名空间上有点区别。

阅读全文

Fatal error: Cannot redeclare go() [...]

前言

前几个月帮学校科研处用phpcms搭建一个官方网站但是至今还没有交付,so 一直放在博主本人服务器运行着,博主最近在做基于swoole的websocket,PHP中源码扩展安装啦swoole,而真是因为这个swoole的go()函数跟phpcms模块冲突啦。

阅读全文

Laravel+JWT token无痛刷新实现

前言

最近使用JWT token作为后端api接口一个票据,具体做下无痛刷新token的方法,之前JWT都是过期用户要让用户重新登录并且刷新token方式实现,而这次的无痛刷新更是完善用户体验,无需重新登录刷新token。

阅读全文