![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
php
文章平均质量分 70
Amauri@
公众号: 「 后端漫谈 」
展开
-
从零带你入门Socket编程
相信大部分的初中级PHP程序员平时写的业务代码占绝大多数,写厌了平时的增删改查,何不体验体验网络编程的魅力呢。学习网络编程能够很好的理解一些底层的网络通信,比如Apache、Nginx如何接受HTTP请求的,然后又是如何和PHP来进行交互的。Nginx为什么能处理高并发的请求?常听别人说的同步IO、异步IO、阻塞IO、非阻塞IO…等等到底是什么意思?相信你学习了网络编程之后就会对其有深刻的理解...原创 2018-09-08 22:26:53 · 301 阅读 · 0 评论 -
基于Socket实现简单的回声服务器
上一篇文章是对socket编程的入门,这次我们基于socket实现一个简单的收发消息的服务。实现思路:先说服务端:接受客户端的连接读取客户端发送过来的信息将接受到信息发送给客户端客户端:首先连接到服务端读取用户输入将用户输入的信息发送给服务端发送之后将会接收到服务端返回来的信息由于PHP没有原生的从命令行接收用户输入的函数,所以这里通过以下方式来实现: ...原创 2018-09-09 18:02:39 · 740 阅读 · 0 评论 -
PHPSocket编程之多进程的回声服务器
上次的回声服务程序有个很大的缺点,就是只能同时连接一个客户端,这明显是不合理的。所以这次采用多进程的方式来实现同时为多个客户端提供服务。以下是最终的效果: (通过 ps 命令可以查看到我们创建的工作进程) (通过 xshell 打开多个终端,并向服务程序连接多个客户端) 在开始编码之前,先介绍一下什么是进程。进程,即正在运行的...原创 2018-09-12 22:10:05 · 239 阅读 · 0 评论 -
一次读懂 Select、Poll、Epoll IO复用技术
“ 阅读本文大概需要 6 分钟。”我们之前采用的多进程方式实现的服务器端,一次创建多个工作子进程来给客户端提供服务。其实这种方式是存在问题的。可以打个比方:如果我们先前创建的几个进程承载不了目前快速发展的业务的话,是不是还得增加进程数?我们都知道系统创建进程是需要消耗大量资源的,所以这样就会导致系统资源不足的情况。那么有没有一种方式可以让一个进程同时为多个客户端端提供服务?接下来要...原创 2018-09-14 10:09:33 · 151 阅读 · 0 评论 -
PHP中的生成器(yield)使用
在讲解生成器之前先介绍一下迭代器:在 PHP 中,通常情况下遍历数组使用 foreach 来遍历。如果我们要想让一个对象可以遍历呢?PHP 为我们提供了 Iterator 接口,只要实现了这个接口,这个对象就可以通过 foreach 来迭代。例子如下:class myIterator implements Iterator { private $index = 0; pr...原创 2018-09-20 21:29:52 · 590 阅读 · 0 评论 -
Swoole 初探:环境搭建与入门案例
Swoole 是一个 php 的扩展,它的核心目标就是解决 php 在实现一些高访问 server 服务中可能遇到的一系列问题,这些问题用原生的 php 往往并不能很方便高效的解决。对于这一问题企业一般多会采用其他技术,比如使用 java 或者其他语言。 但是有了 Swoole 之后,由于底层全是用 C 语言实现,其出色的性能深受追捧。由于以前 php 适用场景的局限性比较大,所以会有说 Swo...原创 2018-10-10 09:17:50 · 215 阅读 · 0 评论 -
PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
在一般的 Server 程序中都会有一些耗时的任务,比如:发送邮件、聊天服务器发送广播等。如果我们采用同步阻塞的防水去执行这些任务,那么这肯定会非常的慢。Swoole 的 TaskWorker 进程池可以用来执行一些异步的任务,而且不会影响接下来的任务,很适合处理以上场景。那么什么是异步任务呢?可以从下面的图示中来简单了解一下。(来源于网络,侵删)我们上一个 Swoole 的文章介绍了如...原创 2018-10-16 21:26:41 · 527 阅读 · 0 评论 -
使用 swoole_process 实现 PHP 进程池
swoole_process 主要是用来代替 PHP 的 pcntl 扩展。我们知道 pcntl 是用来进行多进程编程的,而 pcntl 只提供了 fork 这样原始的接口,容易使用错误,并且没有提供进程间通信以及重定向标准输入输出的功能。而 swoole_process 则提供了比 pcntl 更强大的功能,更易用的API,使PHP在多进程编程方面更加轻松。本文使用 swoole_proce...原创 2018-10-27 18:38:04 · 1345 阅读 · 0 评论 -
使用 vagrant + docker 搭建 symfony 开发环境
1.安装 virtualbox 与 vagrant官网直接下载安装包,注意 virtualbox 要使用 5.1 版本,vagrant 使用最新版本。2.下载 vagrant boxvagrant box add [name] [镜像]vagrant box add ubuntu ubuntu/xenial64下载速度会很慢,建议复制链接到迅雷里面下载。3.使用 vagrant-...原创 2018-11-18 20:59:15 · 424 阅读 · 0 评论