调用 json_encode() 警告:ext-json is missing in composer.json

phpstorm 中 JSON 化输出内容,调用 json_encode() 报错:ext-json is missing in composer.json。之前不去管它也没有任何的报错,但总想着能够去掉这样的干扰警告。找到一教程:mac下phpstorm2019.1版本提示ext-json is missing in composer.json - CSDN。方法一:修改 phpstorm 配置

php 删除数组中的某些元素不可行的方法

关于数组操作,php 与 js 的方法都比较相似(甚至名称都是一样的)。但也有区别,就是 js 的方法基于数组对象调用,而 php 是调用库函数,对数组(地址传递)进行操作。之前写过 js 数组添加元素和删除元素,php 操作基本一致。// 从尾部插入一个或多个元素 array_push($arr, $var); // 删除最后一个元素 array_pop($arr); // 获取数组切片 arr

tp6 修改器不触发、不起作用解决方法

使用 catchAdmin(tp6 框架)二次开发时发现,ThinkPHP6 修改器似乎没有触发,不起作用。在 tp6 的官方文档中 修改器 一节明确指出了以下四种触发修改器的情况:模型对象赋值;调用模型的 data 方法,并且第二个参数传入 true;调用模型的 save 方法,并且传入数据;显式调用模型的 setAttr 方法;因为 save 的存在,正常保存数据的时候就会触发修改器。修改器这

`session_start()`执行阻塞卡顿

今天在更新代码后,突然发现后台登录不了了,一直处于加载状态。通过卡点代码确定了问题的位置 session_start()。不明白为什么本地执行没有问题,更新代码后会出现这样的情况。百度搜索到的解决方案都是在 session_start() 之后再关闭 session:session_close()、session_write_close()。大致的解释是,每次只开启 session 而没有关闭,导

php 获取当前毫秒(整数)

正常通过 microtime() 获取到的是一个这样格式的字符串 0.15852100 1612176374。这是一个 Unix 时间戳的微妙表示,前面的小数单位是秒。microtime() 函数可以接受一个 bool 类型的参数,传递是否返回一个浮点数。microtime(true) 返回 1612176526.1222,精度减小了。所以,转化为毫秒单位的整数即为:intval(microtim

php 定义空对象

$obj1 = new \stdClass; // Instantiate stdClass object $obj2 = new class{}; // Instantiate anonymous class $obj3 = (object)[]; // Cast empty array to object var_dump($obj1); // object(stdClass)#1 (0)

使用 simple_html_dom 库解析 html 内容

之前使用过 simple_html_dom 这一类库做解析,这一类库本身并不大,可以直接引入文件,让后封装到 helper 或者全局函数库里以备随时使用。下载文件:simple_html_dom.txt ,下载后将文件后缀修改为 .php 即可。github 原始地址:samacs/simple_html_domgithub 最新维护地址:Simple Html Dom Parser for PH

php 处理金额类型数据保留两位小数

我习惯用 number_format 函数,返回类型为字符串:number_format($price, 2, '.', '');后面两个参数依次为小数点符号和千分之符号(默认,,所以需要手动去除)还有一个专门处理字符串格式化输出的方法 sprintf:sprintf('%.'.$precision.'f', $price);另附四舍五入方法 round ($val, $precision = 0

php Warning: Cannot modify header information - headers already sent by...

测试 php 序列化后设置 cookie 返回 false 时报错:php Warning: Cannot modify header information - headers already sent by...。网上找到了原因:在修改 header 信息之前存在输出内容。这与之前碰到过的 ob_start('ob_gzhandler'); 执行错误 和 header("Content-typ

百度统计(百度账号)授权回调页设置后跳转到百度账号登录报错:redirect_uri_mismatch 百度回调地址错误

如题,在接入百度统计接口数据时发现,使用百度账号接口的 百度账号登录 流程报错:错误代码:redirect_uri_mismatch,错误信息:Invali redirect uri,详细描述:授权回调地址错误。具体内容请开发者参考“redirect uri”验证方式。按照百度的帮助文档去定位错误原因,然后通过 百度账号接口说明 中的 百度开发者中心控制台 登录到项目工程列表,里面是之前创建的一些