PHP
摩洛哥M
这个作者很懒,什么都没留下…
展开
-
laravel搭建基于websocket的实时广播通知系统
laravel搭建基于websocket的实时广播通知系统流程原理安装使用laravle-echo-server配置广播配置客户端触发事件授权路由流程原理laravel支持事件和队列机制,可以触发一个广播事件。利用redis的发布订阅特性,将事件发布到redis。利用laravle-echo-server订阅事件获取通知。通过websocket发送到浏览器客户端。安装使用laravle-echo-server安装:npm install -g laravel-echo-server配置:原创 2021-09-23 15:29:14 · 1245 阅读 · 0 评论 -
laravel上传图片和使用
laravel上传图片和使用laravel上传图片和使用public目录创建storage的链接上传文件并获取路径laravel上传图片和使用public目录创建storage的链接laravel默认使用storage目录存储文件,而网站根目录在publicphp artisan storage:link将storage/app/public目录链接到public/storage目录,从而浏览器可以使用上传的文件上传文件并获取路径$path = $request->file('avata原创 2021-09-23 14:15:51 · 892 阅读 · 0 评论 -
PHP 开启 webp 支持
PHP开启webp支持查看GD模块参数查看PHP编译参数安装依赖libvpx、libwebp库fileinfo模块调整magic数据文件重新编译测试增加webp的MIME重新编译PHP测试Intervention/Image测试总结不同的PHP版本有不同编译参数和不同的依赖,这里是 CentOS 7 编译安装的PHP 5.6,通过GD库增加libvpx实现对webp格式图片支持,然后修改fileinfo扩展增加webp的mime文件类型检测查看GD模块参数运行php --ri gdGD Suppor原创 2021-08-07 14:40:47 · 3405 阅读 · 0 评论 -
PHP HTTP 206 Partial Content
$fp = fopen($file, 'r');$size = filesize($file);$begin = 0;$end = $size - 1;if (isset($_SERVER['HTTP_RANGE'])) { header('HTTP/1.1 206 Partial Content'); if (preg_match('/bytes=\b(\d+)-(\d*)[\D.*]?/i', $_SERVER['HTTP_RANGE'], $matches)) {原创 2021-07-21 22:58:32 · 468 阅读 · 1 评论 -
PHP伪静态原理及极简实现
PHP伪静态原理及极简实现目的原理极简实现框架实现目的伪静态可以隐藏后端实现原理,便于搜索引擎收藏,开起来高大上一些。原理通过nginx路径重写跳转到后端,再分发到控制器。极简实现为了简单,以nginx和php-fpm的方式部署项目,网站根目录就两个文件:helpers.php,其中存放各种函数index.php,用于提取路由并分发到函数中适合功能非常简单,没必要使用框架的情况。第一步:配置nginxlocation / { try_files $uri $uri/ /inde原创 2021-07-21 22:43:47 · 1494 阅读 · 2 评论 -
vscode与phpstorm的使用对比
vscode与phpstorm的使用对比vscode与phpstorm的使用对比功能对比内存占用结论vscode与phpstorm的使用对比以前一直用JetBrains的idea系列,真的好用,不过不是免费的。重装了系统,两个IDE都试用了几天,记录一下感受,方便以后选择。功能对比基本的功能都是有的,只不过有的需要装插件。中文支持,都是装一个chinese插件,很简单历史记录,vscode使用local history插件,PhpStorm自带本地历史记录代码补全,都是有的,PhpStor原创 2021-06-17 11:08:48 · 6273 阅读 · 0 评论 -
PHP远程代码执行漏洞CVE-2019-11043分析
PHP远程代码执行漏洞CVE-2019-11043分析CVE-2019-11043是一种2019年出现的PHP远程代码执行漏洞Nginx上fastcgi_split_path_info在处理带有 %0a 的请求时,会因为遇到换行符 \n 导致PATH_INFO为空,最终可导致任意代码执行。利用条件PHP版本7及fastcgi协议PHP7以上,使用fpm形式处理请求,需要使用fastcgi协议,并且利用nginx的正则实现pathinfo和filename分离,例如:inidex.php/artic原创 2021-05-24 18:51:25 · 794 阅读 · 0 评论