php
weixin_42094764
这个作者很懒,什么都没留下…
展开
-
windows命令行运行php,没有报错直接停止
windows运行php脚本,开启报错原创 2023-01-04 10:29:53 · 251 阅读 · 0 评论 -
spark sql group by 报错
报错原因:spark sql 使用group by的时候必须将select的所有字段都写进去。解决办法,在不需要group by的字段上加first()原创 2022-12-30 10:39:37 · 981 阅读 · 0 评论 -
phpstrom 对于docker容器内的 debug配置
phpstrom配置xdebug原创 2022-12-01 16:21:15 · 247 阅读 · 0 评论 -
php 使用redis报 read error on connection
php redis报错 read error on connection原创 2022-10-25 14:02:01 · 247 阅读 · 0 评论 -
核酸录入系统分库分表
分库分表原创 2022-09-03 21:11:49 · 302 阅读 · 0 评论 -
agg like查询 %keyword%比 keyword%查询好
agg like查询 %keyword%比 keyword%查询好原创 2022-05-31 11:10:25 · 171 阅读 · 0 评论 -
php,多维数组根据某个键值排序
节约时间,直接上代码,使用函数array_multisort进行排序即可,排序之前需要把排序字段的值都取出来。 $array = [["test1"=>2],["test1"=>1]] $total = array_column($array, "test1"); array_multisort($total, SORT_ASC, $array);...原创 2022-05-24 16:25:20 · 199 阅读 · 0 评论 -
登录时可以使用手机号邮箱登录的逻辑整理
1.实现办法:用户在登录的时候在用户名那一栏输入的值分别进行手机号和邮箱的正则验证,如果命中了规则,则去数据库里找对应的手机号或者邮箱,然后匹配密码登录,如果都没有命中再去查找用户名进行密码匹配注意,未了避免用户名就是手机号或者邮箱的情况,那么在注册和创建账户时,用户名需要做正则验证,不能为11位数字和带@符号...原创 2022-05-19 15:48:22 · 507 阅读 · 0 评论 -
转 dockerfile php nginx
https://blog.csdn.net/qq_35679620/article/details/110953207FROM centos:7MAINTAINER 915177778@qq.com#切换系统时间RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime#安装wget php74RUN yum -y install wget \ && wget https://www.php.net/distribut转载 2022-04-14 10:16:37 · 115 阅读 · 0 评论 -
php 输出文件到本地
php输出任意内容以文件形式到本地,比如txt,doc,pdf public function outFile($fileName,$result){ header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); //文件名 header('Content-Disposition: attachment;原创 2022-04-01 15:07:32 · 689 阅读 · 0 评论 -
jit学习
php8出来了,有了一个jit(Just In Time Compiler)特性,今天就以java的jit的为例学习一下吧。首先我们要明白动态编译和静态编译。动态编译就是在代码执行的时候才会去编译执行而将代码事先编译好为可执行文件的行为就是静态编译。那么今天要学习jit则被叫做即时编译,是指当某段代码即将第一次被执行时进行编译,是动态编译的一种特例。首先是jit是什么?上面说了jit是即时编译,将第一次执行的代码优化后编译成机器码,然后存储起来,后面再次执行相应文件代码的时候就不用重新编译了,只原创 2021-11-09 11:26:08 · 88 阅读 · 0 评论 -
请求php接口504 Gateway timeout
一般这种情况排序服务器cpu,内存过高卡死的原因,就是你的php程序运行过长了。解决办法1.技术流:找到php运行超时的原因,一般来说要么就是连接mysql超时,或者curl请求太多超时,这种时候就需要你去优化代码了,降低请求和查询时间,或者将这次请求加入队列,异步运行。2.暴力流:因为一个不合理的需求你必须要让程序运行那么长的时间,还得把运行结果返回到页面上,这个时候怎么办呢??只有怎么暴力怎么来了首先在php函数内设置set_time_limit(0);让这个php程序可以不限时的运行,如原创 2021-06-25 16:24:31 · 751 阅读 · 0 评论 -
mkdir创建的文件夹权限为411或者755
今天发现自己mkdir创建的文件夹只有411权限,mkdir($path,777)疑惑中,百度了一下,这里的权限应该写成0777而不是777,原因是权限值最好使用八进制表示,即“0”开头,而且一定不要加引号。至于为什么八进制的开头一位要加0,因为c语言就是这么规定的,规范和好看,这个不用纠结,但是为什么777会变成411呢?因为如果你不加0,系统就会认为你输入的是一个10进制的数777,而八进制表示10进制的777就是1411,然后由于权限的是看后面几个位的表示,所以显示的时候就是411了0777(原创 2021-05-25 11:08:12 · 744 阅读 · 2 评论 -
php 突然连接不上云服务器 php_network_getaddresses: getaddrinfo failed: Name or service not known
今天莫名加了会班,然后就出Bug了,我们用的云数据库连不上了,赶紧重启服务器,然后好了,又可以连上了,看日志报错。local.ERROR: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not knownOk.看意思应该是无法识别路由地址,百度一下,给的建议是直接把连接地址换成Ping的ip,或者重启php-fpm。因为云数据库的连接地址不是一个ip而是一串字符串域名。所以这个问题原创 2021-05-19 21:38:25 · 1389 阅读 · 0 评论 -
php二维数组排序
今天遇到个二维数组排序的问题,记录一下用到的函数 array_multisort $a =[ ["sort"=>2,"str"=>"哈哈"], ["sort"=>4,"str"=>"嘿嘿"], ["sort"=>5,"str"=>"呵呵"], ["sort"=>6,"str"=>"嘎嘎"], ["sort"=>1,"s原创 2021-04-26 18:46:10 · 39 阅读 · 0 评论 -
redis备份 aof和rdb学习
今天学习一下redis的备份机制。redis备份的方式有两种,一种是快照rdb机制,一种是记录所有redis命令的aof机制。RDB和AOF两种方式也可以同时使用,在这种情况下,如果redis重启的话,则会优先采用AOF方式来进行数据恢复,这是因为AOF方式的数据恢复完整度更高。RDB备份:redis在进行rdb备份的时候会单独fork出来一个子进程,主进程在这次备份没有io操作不影响正常工作,redis会把当前数据写入一个临时文件,然后在备份完成后替换之前的备份文件。rdb备份是一个周期性备份。默认的原创 2021-04-21 11:32:38 · 261 阅读 · 0 评论 -
rabbitmq 学习
首先来看看RabbitMQ里的几个重要概念:生产者(Producer):发送消息的应用。 消费者(Consumer):接收消息的应用。 队列(Queue):存储消息的缓存。消息(Message):由生产者通过RabbitMQ发送给消费者的信息。连接(Connection):连接RabbitMQ和应用服务器的TCP连接。通道(Channel):连接里的一个虚拟通道。当你通过消息队列发送或者接收消息时,这个操作都是通过通道进行的。交换机(Exchange):交换机负责从生产者那里接收消息,并根据交换原创 2021-04-18 11:18:34 · 43 阅读 · 0 评论 -
PHP 反射的简单使用
反射机制简介之前已经介绍过Java反射机制的简单使用,所有的反射机制的思想作用等都是类似的,下面就一起来了解一下PHP反射机制。个人理解:反射机制就是可以利用类名或者一个类的对象来获取关于这个类的一系列信息(类的变量,方法),然后又就可以利用得到的类的信息实例化一些类的对象官方给的简介:反射 API,有 对类、接口、函数、方法和扩展进行反向工程的能力。 此外,反射 API 提供了方法来取出函数、类和方法中的文档注释。一般在框架中使用到反射机制比较多(控制反转),正常情况下一般使用不到反射的反射机制转载 2021-04-15 15:31:38 · 46 阅读 · 0 评论 -
larvel 生命周期理解
参考:https://www.jianshu.com/p/08b810b720d9不能理解服务器容器的强烈推荐这位大佬写的https://www.cnblogs.com/JdsyJ/p/12670497.html今天学习下laravel的生命周期,首先说一下什么是生命周期,生命周期就是指一个请求到服务器,再被php处理,返回的这么一个过程。首先我们先说一下php生命周期,1.模块初始化(MINIT),即调用 php.ini 中指明的扩展的初始化函数进行初始化工作,如 mysql 扩展。2.请求初原创 2021-04-09 15:23:30 · 297 阅读 · 0 评论 -
qq域名报毒检测php源码
因为公司业务需要检测qq域名是否报毒,所以搞了个这个function domain_get($domin, $timeout=30){ $headers = array( "Content-Type: text/javascript;charset=UTF-8", "Accept: */*", "Referer:https://urlsec.qq.com/check.html" ); $url = "https://cgi.urls原创 2021-04-08 13:00:30 · 590 阅读 · 0 评论 -
laravel 框架事件学习
laravel 事件系统的初衷是为了处理一些完成后的操作,比如注册成功后发送邮箱通知,或者是订单发货之后进行短信通知。这些操作可以和之前的状态修改代码分开写,为了实现解耦的目的,一般会在类里面再写一个function,然后再状态修改代码之后调用这个function。然而laravel实现了一个监听/调用的事件系统,不用在同类的代码下再写一个function。而是直接和状态修改代码直接分开了。并且事件系统和队列系统一起用还实现了异步代码的效果。使用laravel的事件首先需要创建监听类和事件类。根据文档,在原创 2021-04-01 16:17:09 · 88 阅读 · 0 评论 -
swoole 协程内使用全局变量
最近想学习下swoole的,swoole的特性相比普通的php我觉得区别有三个1.常驻进程,开启之后不会完成一个任务就关闭。2.可以使用协程,所谓协程其实就是php通过swoole扩展在内存层面构建了一个可以运行php的环境,然后把你写的闭包代码在这个环境里面运行,所以协程不用去切换进程线程,消耗cpu资源。而切换线程为什么会更消耗资源呢?是因为切换进程线程时需要先把当前运行的任务资源给保存起来,然后读取需要执行任务所需的资源加载进去,然后才能执行其他的进程线程。多说一句,因为线程能够共用进程的资源,原创 2021-03-26 16:50:29 · 966 阅读 · 0 评论 -
hyperf 打印mysql原生语句
1.使用tosql()方法$sql = Db::table("user")->where(["id"=>1])->toSql();echo $sql;2.使用hyperf的监听事件,打印出最近的一条执行的语句3.直接去hyperf的日志里去找$sql = Db::table("user")->where(["id"=>1])->get();总结完毕,个人推荐使用tosql,最简单。...原创 2021-03-19 11:39:30 · 2243 阅读 · 0 评论 -
hyperf-plus/ui前端框架继续研究
1.自定义行为表格中无跳转请求在handle里设置为Grid\Actions\ActionButton::HANDLER_REQUEST$key = $actions->getRow()["id"]; $actions->add(Grid\Actions\ActionButton::make("测试") ->handler(Grid\Actions\ActionButton::HANDLER_REQUEST)->uri("/admin/test/原创 2021-03-18 11:27:45 · 386 阅读 · 0 评论 -
研究hyperf-plus/ui 表格的新增删除和修改以及自定义操作
首先是新增操作,新增的话需要一个填写表单的地方$grid->dialogForm($this->form()->isDialog()->labelWidth('auto')->className('p-15'), '700px', ['添加账户', '编辑账户']);这段代码是在表格里绑定自己创建的表单,分析一下dialogForm,意思是在表格里绑定表单,第一个参数传一个表单对象,第二个参数传表单宽度,第三个参数传表单的标题。下面上表单代码public func原创 2021-03-12 10:40:28 · 384 阅读 · 0 评论 -
常驻内存理解
比如你扔了一个对象到容器里,那么你每次从容器里拿这个对象,都是这一个对象那么你某个请求里改了这个对象的某个参数,其他请求进来,这个参数也是修改过的,第二点就是协程切换,一个进程可以同时处理多个请求、然后每个请求里静态变量、容器对象啥的也是共用的,但同时处理的只有一处这就导致你调用了协程切换的 api,那么你的cpu处理就会切换到其他请求上那么你临时修改的变量,可能就被其他请求拿到这就是数据混淆的一个主要原因记录一下大佬对常驻内存的理解...原创 2021-03-11 11:43:34 · 1859 阅读 · 0 评论 -
hyperf-plus/ui 表格删除修改
直接上代码 public function tryui(){ $grid = new Grid(new AdminTest());//设置字段 $grid->column('id', 'id')->width(80); $grid->column('test', 'test')->width(80); $grid->column('test1', 'test1')->width(80);原创 2021-03-09 17:02:59 · 79 阅读 · 1 评论 -
php vue插件 hplus-ui初学
文档链接 : https://www.yuque.com/hyperf-plus/ui/hplus-ui今天接触了下hyperf_admin框架,他的前端页面是用hplus-ui包做的,感觉很神奇,所以试着用了一下,总结一些东西,免得以后忘了怎么用。安装就略过了,按文档走就行了首先是怎么用,用法的话先new content。然后使用各种组件建构页面,再把构建好的组件放到$content->body里面去。最后return $content就行了~,很简单是不是,接下来上一些实验代码。$cont原创 2021-03-08 18:15:25 · 208 阅读 · 0 评论 -
phpfpm 和 phpcgi的区别
参考链接 https://www.xiebruce.top/606.html首先说说cgi和fast-cgi 这两个都是一种服务器和动态脚本(php)请求的协议,fastcgi是cgi的变种,fast说明它比cgi,至于为什么快呢。是因为当客户端请求Web服务器上的动态脚本时,使用fastcgi协议的I主进程会根据情况,安排一个空闲的子进程来解析动态脚本,处理完成后将结果返回给Web服务器,Web服务器再将结果返回给客户端。该客户端请求处理完毕后,FastCGI子进程并不会随之关闭,而是继续等待主进程安原创 2021-03-05 12:14:31 · 720 阅读 · 2 评论 -
PHP代码 如何网页获取用户的openid(转)
转自 https://www.cnblogs.com/changbin/p/5509913.htmlpublic function getOpenid($appid, $appsecret) { $SERVER_NAME = $_SERVER['SERVER_NAME']; $REQUEST_URI = $_SERVER['REQUEST_URI']; $redirect_uri = urlencode('http://' . $SERVER_NAM转载 2021-03-02 17:40:32 · 356 阅读 · 0 评论 -
dcoker 导出环境,布置到线上
先本地启动容器,挂载本地代码docker run --name hyperf -v D:\phpstudy_pro\WWW\hyperf\hyperf-skeleton:/hyperf-skeleton -p 9501:9501 -p 9503:9503 -it --privileged -u root --entrypoint /bin/sh hyperf/hyperf:7.4-alpine-v3.11-swoole然后导出环境包docker export -o test.tar hyperf上原创 2021-02-19 11:56:00 · 41 阅读 · 0 评论 -
hyperf 使用视图功能
今天试试hyperf的视图功能首先看文档,需要安装hyperf/view组件,composer requirehyperf/view.报了个错,说是其他组件版本太低无法安装,因为我自己下的是hyperf2.0的版本,目前已经是2.1的版本,那么安装官方文档的说明更新一下。https://hyperf.wiki/2.1/#/zh-cn/upgrade/2.1?id=%e4%bf%ae%e6%94%b9-hyperf-%e7%bb%84%e4%bb%b6%e7%89%88%e6%9c%ac升级版本很简.原创 2021-02-18 15:03:45 · 1339 阅读 · 0 评论 -
php curl 实现ssl/tls的完全代码 ca.crt,client.crtm,client.key
最近在对接一个接口,由于数据涉及用户隐私,所以接口使用了ssl/tls 加密。对方直接发了我三个文件 ca.crt,client.crtm,client.key,我先百度了下,都没有用crt的curl https 请求,看了下手册,发现里面说需要把curl 转成pem才行。于是我在线上服务器上...原创 2020-11-25 10:21:29 · 585 阅读 · 0 评论