webshell php
php 扩展kafka
一、安装librdkafka cd /usr/local/src/ git clone https://github.com/edenhill/librdkafka.git cd librdkafka ./configure make make install ln -s /usr/local/li ......
php swoft 中的数据分层
不仅仅局限于 MVC 。将数据在model 这一个层面剖析开,优雅的处理数据 逻辑,缓存,业务,数据库操作的烦恼。 这个思路也适用于 thinkphp,hyperf,imi 等框架。不再简单的 实现 controller->model->view 的处理过程。 简化代码,每一层清晰地定义相应处理的数 ......
php kafka生产者,消费者操作
php7.2 kafka7.8.1 生产者代码 <?php $conf = new RdKafka\Conf(); $conf->setDrMsgCb(function ($kafka, $message) { file_put_contents("./dr_cb.log", var_export( ......
Linux 上安装 MongoDB PHP 扩展
Linux 上安装 MongoDB PHP 扩展 在终端上安装 在 Linux 中执行以下命令来安装 MongoDB 的 PHP 扩展驱动 源码来编译扩展驱动。手动编译源码包,这样做的好是最新修正的 bug 包含在源码包中。 你可以在 PHP 官网上下载 MongoDB PHP 驱动包,下载地址:h ......
php容器 -- 控制反转 -- 依赖注入
容器 简介 Swoft 基于 PSR-11 规范设计了自己容器,并基于 注解 增强了它的功能。容器是 Swoft 最重要的设计,称得上是 Swoft 的核心精髓,也是 Swoft 各模块的实现基础。本章节将会对容器的相关基础知识做一个介绍,以便大家更好的理解容器。 前置知识 - IoC IoC 即控 ......
swoft php 协程 性能优化
https://dy.163.com/article/E14KTSAC0511HSJK.html 原文章地址,传送门 因为看到韩天峰大佬的这个,协程那简直不要太酸爽。所以我也尝试一下。 服务器环境lnmp+swoole linux(centos7.4),(nginx1.14),(php7.2) 框架 ......
【笔记】使用 docker alpine 的 php 8.1 构建 FastAdmin 开发环境
使用 docker alpine 的 php 8.1 构建 FastAdmin 开发环境 首先最重要的是换源,换成清华的。 sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories 安 ......
php架构之路,phper进阶,学习路线
鉴于最近跟小伙伴聊了很多PHP架构发展方向的问题,相关技术整理了一下,也顺便规划了一下自己下年。【我的学习路线】 一.常用的设计模式以及使用场景 以下是我用到过的 工厂,单例,策略,注册,适配,观察者,原型,装饰器,facade,loc,pipeline 二.阅读一个框架源码 例如:laravel ......
php 如何实现 git diff
无意间想到这个问题,如何用php来实现git diff,如果实现了这个功能,岂不是能够使用php对在线编辑文件的功能做更进一步的优化和提升? 查了一下还真有这样的库,话不多说,开始执行 composer require --dev sebastian/diff 得到结果 Info from http ......
php AES加密解密的例子
一共有两个文件:AES.php(aes算法类文件)和aesDemo.php(应用实例文件) aesDemo.php:例子, <?php require_once('./AES.php'); //$aes = new AES(); $aes = new AES(true);// 把加密后的字符串按十六 ......
如何在PHP7中扩展mysql,先安装php7.2。后安装mysql
相对与PHP5,PHP7的最大变化之一是移除了mysql扩展,推荐使用mysqli或者pdo_mysql,实际上在PHP5.5开始,PHP就着手开始准备弃用mysql扩展,如果你使用mysql扩展,可能看到过这样的提示”Deprecated: mysql_connect(): The mysql e ......
linux使用php动态安装模块mysqli.so(ext/mysqlnd/mysqlnd.h: 没有那个文件或目录)
由于我先安装的php,再安装的mysql! 正常过程: 1、安装mysql 2、安装php configure时带–with-mysql参数 现在我不想重装,因此使用phpize动态安装mysqli,php版本为php-7.2.13 1先查看php下phpize路径 得知路劲为/usr/local/ ......
PHP消息队列实现及应用
目前对消息队列并不了解其原理,本篇文章主要是通过慕课网学习归纳的一些笔记,为后续学习打下基础。 众所周知在对网站设计的时候,会遇到给用户“群发短信”,“订单系统有大量的日志”,“秒杀设计”等,服务器没法处理这种瞬间迸发的压力,这种情况要保证系统正常有效的使用,就需要“消息队列”的帮助。本篇主要通过消 ......
php怎么实现web端上传超大文件
前段时间做视频上传业务,通过网页上传视频到服务器。 视频大小 小则几十M,大则 1G+,以一般的HTTP请求发送数据的方式的话,会遇到的问题:1,文件过大,超出服务端的请求大小限制;2,请求时间过长,请求超时;3,传输中断,必须重新上传导致前功尽弃; 解决方案: 1,修改服务端上传的限制配置;N ......
【环境搭建】docker+nginx部署PHP
目的 使用docker容器完成nginx的安装以及部署PHP网页 步骤 一、 安装nginx 1. 拉取Nginx镜像 docker pull nginx //拉取镜像 docker images //查看本地镜像 这里注意需要记一下nginx的IMAGE ID,我这里的ID是605c 2. 创建N ......
PHP获取一周的日期
function get_week($time = '', $format='Y-m-d'){ $time = $time != '' ? $time : time(); //获取当前周几 $week = date('w', $time); $weekname = array('周一','周二',' ......
PHP组合数组,按照数组中的某个字段作为键,将数组重新进行组合
/** * 组合数组 * @param Date $data 数组 * @param Date $sort_by 排序字段 * @author liqiuyue */ function composite_array($data,$sort_by){ $target = array(); forea ......
php查找判断二维数组中是否含有某个值
$arr = array( array('a', 'b'), array('c', 'd') ); in_array('a', $arr); // 此时返回的永远都是 false deep_in_array('a', $arr); // 此时返回 true 值 function deep_in_ar ......
php爬虫框架盘点
大数据分析必定少不了数据抓取,只有拥有海量的数据才能对数据进行对比分析。因此,网页爬虫是作为程序员必须要懂得技能,下文我将通过文字形式记录下php的爬虫框架的一些内容。 Goutte Goutte库非常有用,它可以为您提供有关如何使用PHP抓取内容的出色支持。基于Symfony框架,它提供了API来 ......
【环境搭建】vscode调试php
待解决问题 使用vscode和phpstudy实现PHP的本地调试 解决办法 1.打开xdebug 找到网站使用的PHP版本,在设置中将Xdebug调试组件打开,并确认端口是9000 找到php扩展目录下的php_xdebug.dll,例如我电脑上的路径是"D:\software\phpstudy_ ......
SMS-Activate API PHP SDK
SMS-Activate是著名的短信验证码接码平台,其官网为 https://sms-activate.org/ 。 本文介绍SMS-Activate API PHP SDK。代码如下: <?php class RequestError extends Exception { private $re ......
php抽奖程序,奖品可设置数量,中奖概率可调节
<?php $prizes[] = ['probability' => 0.1, 'total' => 1, 'name' => '一等奖'];$prizes[] = ['probability' => 1, 'total' => 1, 'name' => '二等奖']; $prizes[] = [ ......
PHP 实现 PHP在线代码运行工具
转载来源 https://www.cnblogs.com/XiaoMingBlingBling/p/14651830.html demo源码下载:点击下载 HTML代码(index.html): 注:代码编撰区域使用开源项目 ACE (Ajax.org Cloud9 Editor) 实现 <!DOC ......
php Trait基类use trait,本类不use
一 回顾trait使用 https://blog.csdn.net/bushuwei/article/details/103514174发现之前本人说明很模糊,自己居然不知道为什么其实这里的$c,就是class B再次回顾逻辑 二 分析 self和static区别说的没毛病 Trait基类use t ......
ctfshow web入门 php特性 100-108
100-103 代码相似,考察方向不同 104、106、107 需要了解哈希碰撞与弱比较 105、108 作为扩展 重点: 1、了解运算符优先级 2、了解反射类 3、了解哈希碰撞 4、了解可变变量 5、了解弱比较原理 6、了解 intval()、ereg() 函数与哈希加密算法函数(sha1、md5 ......
PHP strtotime获取上个月月份的问题
在PHP获取上个月时,我们常常使用 strtotime('-1 month'); 或者 strtotime('last month'); 来获取上个月的同一天的时间 但是前28天内是没有问题的,当上个月或者下个月不存在同一天的时候,就会出现问题,如果今天是3月31日,使用该方法时取的将会是3月3日的 ......
php站点导入大mysql文件(linux系统)
问题描述:站点数据多,mysql导出后大于1G,使用phpmyadmin,导入一半报错,白白浪费等待时间,使用navicat 导入,执行时间过长提示错误 解决思路:1.拆分mysql文件,分批次导入,亲测还是比较花费时间,小于100M可以尝试,大于100M不推荐 2.推荐使用进入linux系统导入m ......
使用PHP调用OpenAI ChatGPT API接口
本文介绍如何使用PHP调用OpenAI的文本完成模型ChatGPT的API接口,同时也包括图片生成模型DALL·E接口的调用。 一、SDK实现 OpenAI的PHP SDK实现如下,其中ChatGPT使用的模型为gpt-3.5-turbo,如果已经有ChatGPT Plus,并申请到GPT-4的AP ......
php 浮点数转int精度丢失问题解决办法
方案一:先将浮点金额strval后再转int。(推荐) $param['order_price'] = intval(strval($param['order_price']*100)); 方案二: echo round(19.99*100); 这种方案出来是double类型,不推荐,但是纯显示的话 ......
02-第二章PHP数组
其余web文章参考:web学习目录 学习本章知识需要先学会:06-第六篇 前端代码审计的01-第一篇 HTML语言中,关于表单的部分 php文件上传功能$_FILES 用于接收上传的文件相关信息 写两个html,一个用来接收,一个用来上传: 上传文件如下代码: $_FILES:用来上传文件,代码如下 ......