php读写MongoDB中的binary数据

官方文档
https://www.php.net/manual/zh/class.mongodb-bson-binary

final public MongoDB\BSON\Binary::jsonSerialize(): mixed

jsonSerialize处理binary数据

读取如

$result = $result->jsonSerialize();
echo $result['$binary'];
echo $result['$type'];

保存数据

$binary = '666';
$type = 0;
$result = new Binary($binary, $type);
// $binary存储会自动转base64格式

支付宝EasySdk(PHP版)支付回调验签无法通过问题

亲身经历,官方文档坑
THPHP6,正常导入

composer require alipaysdk/easysdk

直接上内容,官方验签

//1. 设置参数(全局只需设置一次)Factory::setOptions(getOptions());
$result = Factory::payment()->common()->verifySign($_POST);

然而不好意思出现错误无法通过;主要原因fund_bill_list数据JSON字符串传递时序列化问题

// 请求数据处理
$data = request()->post();
$data = http_build_query($data);
$data = explode('&', $data);
$new_data = [];
foreach ($data as $key=>$val){
$rows = explode('=', $val);
    $new_data[$rows[0]] = urldecode($rows[1]);
}
if (!empty($new_data['fund_bill_list'])){
    $new_data['fund_bill_list'] = str_replace('"', '"', $new_data['fund_bill_list']);
    $json = json_decode($new_data['fund_bill_list'], true);
    if (json_last_error() !== JSON_ERROR_NONE) {
         $this->consoleLog('Failed to decode JSON: ' . json_last_error_msg());
    }
    $new_data['fund_bill_list'] = json_encode($json);
}
// 才能去验证
$result = Factory::payment()->common()->verifySign($new_data);

如对你有帮助记得点赞哦~

linux 磁盘重启后盘符发生变化导致之前挂载点失效问题

使用UUID来代替代/dev/vdx设备,UUID是Linux系统为磁盘分区提供的唯一的标识字符串。

1.查询磁盘分区的UUID

blkid

效果图效果图

2.使用VI编辑器打开“fstab”文件

vi /etc/fstab

3.按“i”,进入编辑模式,将光标移至文件末尾如:“wq”保存

UUID=0fd85a4f-a8e4-4dda-b8f1-eb56e3e48a43 /www ext4 defaults 0 0

4.在重新加载一下fstab内容看看是否报错

mount -a

最后在重启Linux系统

Mac下Hyperf安装使用

操作步骤
1.先安装composer未安装可在本站搜索
2.查询是否安装Swoole扩展,已安装跳过步骤3

php --ri swoole

3.PHP安装Swoole扩展。具体参考php.net官网安装说明

git clone https://github.com/swoole/swoole-src.git
cd swoole-src
phpize
./configure
make && make install

4.配置php.ini扩展
如:extension=your/full/path/swoole.so
不记得位置可以通过命令查询

php --ini

5.第3步骤成功会返回路径安装文件路径,复制对应路径/swoole.so
6.Hyperf需要额外增加ini配置

swoole.use_shortname = Off

7.安装Hyperf

composer create-project hyperf/hyperf-skeleton

了解更多详细移步Hyperf官网