简单理解php的socket编程
原文地址:https://www.cnblogs.com/loveyoume/p/6076101.html
php的socket编程算是比较难以理解的东西吧,不过,我们只要理解socket几个函数之间的关系,以及它们所扮演的角色,那么理解起来应该不是很难了,在笔者看来,socket编程,其实就是建立一个网络服务的客户端和服务端,这和mysql的客户端和服务端是一样的,你只 ...
一个websocket的demo(php server)
notice:
通过命令行执行php文件 如 php -q c:\path\server.php 通过本地web服务器访问 http://127.0.0.1/websocket/index.php即可notice: 需要php5.3或以上的执行环境,和一个web服务器如apache浏览器需支持html5 web socket这里监听 socket端口 9505,如遇到端口被占用可能需要在这两个文件内修改端口或者杀 ...
PHP实现无限极分类的两种方式,递归和引用
面试的时候被问到无限极分类的设计和实现,比较常见的做法是在建表的时候,增加一个PID字段用来区别自己所属的分类
$array = array(
array('id' => 1, 'pid' => 0, 'name' => '河北省'),
array('id' => 2, 'pid' => 0, 'name' => '北京市'),
array('id' => 3, 'pid' => 1, 'name' => '邯郸市'),
array('id' => 4, 'pid' = ...
这一次,真正掌握composer
思维导图
composer是现代PHP的基石
现代高级编程语言,依赖管理工具是必不可少的。Java有Maven,Python有pip,Nodejs有npm, 而在composer出现之前,PHP只有被广为诟病的Pear, 由于Pear实在太难用,很少PHP开发者用到这个工具。以致于PHP的开发生态很糟糕。
连一个像样的依赖管理工具都没有,让PHP这门占据了we ...
PHP 全局变量
一直认为PHP的全局变量与C++、Java全局变量类似,直到最近做项目过程中使用的局变量,才发现需要补充学习下这方面的内容。
一 全局变量的global的定义和使用
最初,我的需求是这样的:
<?php
$name = "why";
function changeName(){
$name = "what";
}changeName();
echo "my name is " . $name . "<b ...
PHP弱类型总结
0x01:“==”和“===”
PHP中有两种比较符号,“==”与“===”。“==”我们称之为等值符,当等号两边为相同类型时,直接比较值是否相等;当等号两边类型不同时,先转换为相同的类型,再对转换后的值进行比较,如果比较一个数字和字符串或者涉及到数字内容的字符串,则字符串会被转换成数值并且比较按照常数值进行比较。
<? ...
php简单实现MVC
在PHP中使用MVC越来越流行了,特别是在一些开源的框架当中。MVC足以应对大多数的情况,但还有一些情况是其不太适合的,如比较简单的个人博客,对于只有几百篇文章量级的博客,使用MVC让人觉得有些太复杂了;同样对于新浪等门户网站,使用MVC,将有大量的文件被加载,对于速度的影响是无法接受的。枫竹梦介绍MVC的基本原理及 ...
php高并发之opcache
今天工作的时候接触到客户的一台服务器,业务逻辑比较简单 。估算pv在120w左右吧,用的是阿里云2c4g的服务器。一大早就开始卡顿了,登陆服务器后查看负载到了八九十。
之后就想办法调整一下吧。突然想起某位前辈说过的:开启opcache吧,真的会变快的。
于是我马上就开始整,过程很简单
1.进入php,ini 搜索opcache 。
2,修改 ...
php yield关键字以及协程的实现
php的yield是在php5.5版本就出来了,而在初级php界却很少有人提起,我就说说个人对php yield的理解
Iterator接口
在php中,除了数组,对象可以被foreach遍历之外,还有另外一种特殊对象,也就是继承了iterator接口的对象,也可以被对象遍历,但和普通对象的遍历又有所不同,下面是3种类型的遍历情况:
可以看出 ...
在 Laravel 中使用 MongoDB
可参考:https://blog.csdn.net/weixin_38682852/article/details/80840678
环境准备
安装 MongoDB
安装 PHP-MongoDB 扩展
安装 Laravel-MongoDB
推荐组件
composer require jenssegers/mongodb
注册服务
Jenssegers\Mongodb\MongodbServiceProvider::class,
添加 Facades
'Mongo' => Jenssegers ...
【php】php表单防止重复提交(防csrf漏洞)
这篇文章介绍的内容是关于php表单防止重复提交(防csrf漏洞) ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下Token浅谈
Token,就是令牌,最大的特点就是随机性,不可预测。一般黑客或软件无法猜测出来。
那么,Token有什么作用?又是什么原理呢?
Token一般用在两个地方——防止表单重复提交、anti csrf攻 ...
php中相对路径和绝对路径如何使用(详解)
php中相对路径和绝对路径如何使用(详解)
一、总结
一句话总结:
1、php中好像不能像asp那样用“/”表示根目录,代之以$_SERVER['DOCUMENT_ROOT'],其它则相同:../表示向上一层。./表示当前层。
2、dirname('__FILE__')和$_SERVER['DOCUMENT_ROOT']是表示根目录,这个根目录是绝对路径,但是会随着你的项目移动而变化,所 ...
PHP正则表达式,看这一篇就够啦!
前言
不知道你们有没有这个感觉,看正则表达式就像看天文数字一样,什么电话号码、邮箱的正则表达式,上网复制一下粘贴下来就搞定了。完全不知道这写的是什么玩意。后来我自己也想学一下,因为感觉用处还是挺大的。看了看视频,额...真**简单。这里的话如果想看视频学习的话我推荐一下慕课网这门鬼斧神工之正则表达式课程, ...
PHP验证器类Validator
Particle\Validator是一个小巧优雅的实用的PHP验证类库,提供了一个非常简洁的API。它无需依赖其他组件,提供友好的文档,并且有利于扩展。
安装
composer require particle/validator
使用
在使用之前请确保在项目中引入了 vendor/autoload.php 文件
Code:
1. <?php
2. use Particle\Validator\Validator;
3. requ ...
PHP配置优化:php-fpm配置解读
PHP-FPM是一个PHP FastCGI管理器,php-fpm.conf配置文件用于控制PHP-FPM管理进程的相关参数,比如工作子进程的数量、运行权限、监听端口、慢请求等等。
我们在编译安装PHP的时,在./configure的时候带 –enable-fpm参数即可开启PHP-FPM。PHP-FPM配置文件为 php-fpm.conf,其语法类似 php.ini 。一般我们可以在安装目录中找 ...
php.ini配置文件参数优化
用于生产环境中的PHP需要对其进行优化,让PHP自身发挥更好的性能,除了写好PHP代码,还要配置好php-fpm以及php.ini调优。本文从内存、OPcache、上传、会话以及安全等方面讲解php.ini的配置调优。
内存优化
运行 PHP 时需要关心每个 PHP 进程要使用多少内存,php.ini 中的memory_limit 设置用于设定单个 PHP 进程可以使用 ...
php实现导出excel功能
写在前面:马上面临着毕业设计的系统检查,为避免bug侧漏,不断的进行项目优化,目前在bug池中已经游走了一两天了,重要的是自己在bug池游走的过程中还不忘记给自己增加新的功能,比如,我认为加一个批量的导出功能可以为毕业设计提分,omg,说一不二开始捯饬excel导出;
问题:如何自定义的导出,如何定义自己想要的模板呢 ...
PHP搭建OAuth服务
自己写OAuth后台太麻烦,直接拉取gitbub现成的。拉取活跃度比较高的bshaffer/oauth2-server-php
注:以下编码是Oauth四种认证中的第四种:凭证式。想了解其他几种方式,请移步阮一峰大大的博客http://www.ruanyifeng.com/blog/2019/04/oauth-grant-types.html?utm_source=tuicool&utm_medium=referral
1、首先拉取代码&nbs ...
php 连接sqlserver
1、下载sqlserver扩展
打开用phpinfo();查看php版本信息。如下
<?php
echo phpinfo();
?>
、
这里我使用的php7.2版本,sqlserver扩展的下载链接:https://github.com/Microsoft/msphpsql/releases
官方sqlserver扩展下载链接:https://www.microsoft.com/en-us/download/details.aspx?id=20098
5.x版本的s ...
php微信公众号开发入门
1 公众号准备
首先申请一个公众号申请公众号网页
由于一般的个人订阅号开放的功能有限,作为学习者,我们并不推荐使用这种账号的开发者模式进行开发,而是另外申请一个测试号进行开发学习,测试号开放的功能基本可以满足我们的学习需求。
默认的测试号登陆进去是这样子的
2 服务器准备
微信开发需要一台具有公网IP的服务 ...