随笔分类 - PHP--碎片知识
摘要:/** * 判断远程文件是否存在 */ public static function check_remote_file_exists($url) { $curl = curl_init($url); // 不取回数据 curl_setopt($curl, CURLOPT_NOBODY, true)
阅读全文
摘要:在我们做php高并发下的优化的时候,涉及到一个问题,就是fpm进程数设置多少合适,在有的文章中推荐设置为n或者n×2(n为cpu数量) 有的文档中推荐按照可用内存/30m (30m为fpm每个进程内存) 两种说法其实都没有问题,但是都忽略了一个基本的事实就是具体情况具体分析 基础知识 本段摘自 ht
阅读全文
摘要:gettype() empty() is_null() isset() boolean : if($x) $x = ""; string TRUE FALSE TRUE FALSE $x = null NULL TRUE TRUE FALSE FALSE var $x; NULL TRUE TRUE
阅读全文
摘要:阿里云服务器扩容后,登陆宝塔面板发现磁盘容量没有变化,磁盘初始只有80G,现在空间不够用,想要扩容到280G,服务器磁盘扩容后,服务器面板显示280G,但是宝塔面板还是显示80G无变化不更新解决办法。 备份: 备份数据库和重要文件的备份,服务器创建快照,以防在硬盘扩容时出现意外导致数据丢失! 安装g
阅读全文
摘要:场景还原 问题 用户再浏览器里执行了一次http请求,结果后端服务器执行了两遍,如果这次请求是Insert操作,可想而知,数据库会多出一条一模一样的记录来。 网关用Nginx做了反向代理和负载均衡,Nginx下挂着两台阿里云ECS服务器,每台机器上都装着Tomcat,用户打开浏览器,点击页面,访问后
阅读全文
摘要:打开php-fpm.conf,配置php-fpm状态页选项 pm.status_path = /phpfpm_status(默认值为:status) 配置nginx.conf,添加可访问server(不用放在http内) server { listen 80; server_name 127.0.0
阅读全文
摘要:原因是图片被gizp了 解决办法一: $url = 'https://fuss10.elemecdn.com/c/6c/69a7740b4ab864ac0639eb583d68fjpeg.jpeg'; $img = file_get_contents("compress.zlib://".$url)
阅读全文
摘要:因为在进行跨域请求的时候,前端会先options请求接口,去试探是否支持跨域,支持跨域之后,在进行正式的post请求添加。 解决方法: (我的路由写的是any 没有请求限制,请求接口的时候post限制post请求 get限制get请求就行了) 请求做限制,options请求不执行接口功能。 if (
阅读全文
摘要://分类树 if (!function_exists('getCate')){ function getCate($array, $pid =0, $level = 0){ //声明静态数组,避免递归调用时,多次声明导致数组覆盖 static $list = []; foreach ($array
阅读全文
摘要:什么叫后期静态绑定呢? 首先,我们通过一段代码来引入后期静态绑定这一概念: class A { public static function who() { echo __CLASS__, PHP_EOL; } public static function test() { self::who();
阅读全文
摘要:1、抽象类是通过 abstract关键字来定义的,定义为抽象的类不能被实例化。使用 extends 操作符可以继承抽象类 。 **(抽象类可以没有抽象方法,但是抽象类依然不能被实例化)**被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。 继承一个抽象类的时候,非抽象子类必须
阅读全文
摘要:call_user_func()是利用回调函数处理字符串,call_user_func_array是利用回调函数处理数组。 call_user_func_array是调用回调函数,并把一个数组作为参数传进去作为回调函数的参数; call_user_func_array() call_user_fun
阅读全文
摘要:接口参数 在PHP5之后,**PHP正式引入了方法参数类型约束。也就是如果指定了方法参数的类型,那么传不同类型的参数将会导致错误。**在PHP手册中,方法的类型约束仅限于类、接口、数组或者callable回调函数。如果指定了默认值为NULL,那么我们也可以传递NULL作为参数。 class A{}
阅读全文
摘要:递归函数即自调用函数,在函数体内部直接或间接的自己调用自己,即函数的嵌套调用就是函数本身。通常 在此类型的函数体中会附加一个条件判断,以判断是否需要执行递归调用,并且在特定的条件下终止函数的递归 调用动作,把目前流程的主控权交回到上一层函数执行。 ** 总结:** 1.递归是一种函数调用自身
阅读全文
摘要:注意:合并后要有变量接收 1.合并数组 array_merge()函数将数组合并到一起,返回一个联合的数组。所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次迫加。 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。 如果输入的数组中有相同的字
阅读全文
摘要:探索开始 1.基于时间 + 随机码生成 id php 提供了一个生成唯一值生成函数 uniqid ($prefix,$more_entropy), 这是一个基于毫秒级时间生成 id 的函数,不带参数执行输出 13 位字符随机码,$prefix 返回随机码的前缀,$more_entropy 设为 tr
阅读全文
摘要:ElasticSearch 常用字段类型及增删改查 ES常用的数据类型可分为3大类 核⼼数据类型 复杂数据类型 专⽤数据类型 核心数据类型 (1)字符串 text ⽤于全⽂索引,搜索时会自动使用分词器进⾏分词再匹配 keyword 不分词,搜索时需要匹配完整的值 (2)数值型 整型: byte,sh
阅读全文
摘要:跨域资源共享 CORS 详解 CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。 它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。 一、简介 CORS需要浏览器和服务器同时支持。目前,
阅读全文
摘要:PHP微服务开发框架和开发体系 腾讯Tars Tars是基于名字服务使用Tars协议的高性能RPC开发框架,同时配套一体化的服务治理平台,帮助个人或者企业快速的以微服务的方式构建自己稳定可靠的分布式应用。 官网:https://tars.tencent.com/base/tars_index/cn/
阅读全文
摘要:array_filter() 重点在于过滤(而不是新增)某个元素,当你处理到一个元素时,返回过滤后的数组 array_map() 重点在于遍历一个数组或多个数组的元素,返回一个新的数组 array_walk() 重点在于遍历数组进行某种操作 array_filter() 和 array_walk()
阅读全文