php

The file or directory to be published does not exist: /var/www/yii-demo/vendor/yiisoft/yii2/gii/assets

php

报错内容 Invalid Argument – yii\base\InvalidArgumentException The file or directory to be published does not exist: /var/www/yii-demo/vendor/yiisoft/yii2/gii/assets 这错报的莫名其秒 我的目录结构 ├── api │   ├── config │   │   ├── bootstrap.php │   │   ├── main.php │   │   └── params.php │   ├── controllers │   │   ...

Json Web Token(JWT)的使用

php

JWT 用于生成token,token里面可以包含用户信息,下面介绍两种php的实现方法 借助 composer 库 composer require firebase/php-jwt 生成token <?php require_once __DIR__ . '/../vendor/autoload.php'; use Firebase\JWT\JWT; $key = 'abc';//app key $payload = [ 'iss' => 'http://example.org', 'aud' => 'http://example.com', 'iat' => ...

Redis 应用场景

php

首先,总结一下这些应用场景,它们不是独立存在的,很多都还是要依赖mysql;甚至项目初期这些都不是第一选择,很多场景mysql也能做,并且更简单 生成唯一的随机数 很多网站的详情页链接都有一个随机数,比如http://www.cuiwei.net/p/1937090613、https://www.zhihu.com/question/48759965、https://segmentfault.com/a/1190000041091095等 通常的做法是:一个code(id,article_id,code,used_time)表,一个article(id,code, ...)表,在添加文章时从c...

php使用yield解决Fatal error: Allowed memory size of 134217728 bytes exhausted

php

yield生成器允许你 在 foreach 代码块中写代码来迭代一组数据而不需要在内存中创建一个数组。 错误还原 <?php $file = './access.log'; $lines=readfile2($file); foreach($lines as $line){ file_put_contents('access2.log', $line.PHP_EOL, FILE_APPEND); } echo 'ok'.PHP_EOL; //试图读取一个248M的日志文件,将所有行放到一个数组里面并返回 function readFile2($path){ $handle ...

容器化的LNMP环境,如何升级PHP到8.1.9

Backend

为什么要容器化 提到docker你可能会想到k8s,想到分布式,想到高并发;那单机服务器,或者开发环境有没有必要上docker呢?我觉得有!以LNMP环境为例 相比传统的LNMP环境搭建,docker有哪些优势? 之前安装LNMP环境你可能会选择yum,或手动编译,或宝塔之类的;我不太喜欢宝塔之类的,因为给它们的权限太大了,如果有漏洞那是很危险的。再说yum和手动编译,这两个你都没法保证一次成功次次成功!!!比如你在本地安装好了,然后你用同样的步骤到服务上安装,有可能会失败,因为系统不一样! docker 成功的解决了上面的问题,就是能做到一次成功次次成功。利用编排工具docker-compo...

使用服务账号请求Google Play Developer API

php

Google Play 虽然提供了纯客户端的对接方案,但是官方也更推荐将敏感逻辑移至后端 Google Play Developer API 是一种服务器到服务器 API,与 Android 平台上的 Google Play 结算库相辅相成。此 API 提供了 Google Play 结算库中未提供的功能,如安全地验证购买交易以及为用户办理退款。 配置 Google Play Developer API 若要使用 Google Play Developer API,您需有一个 Google Cloud 项目。 关联Google Cloud项目 如上图,你可以选择关联现有项目,也可以选择创建新...

google play 支付签名验证

php

app端支付成功会有一个Purchase对象,里面有购买令牌(purchaseToken)和其他参数,如下 JSONObject jsonObject=new JSONObject(); try { jsonObject.put("packageName", purchase.getPackageName()); jsonObject.put("purchaseToken", purchase.getPurchaseToken()); jsonObject.put("signature", purchase.getSignature()); jsonObject...

API 请求签名生成规则

Backend

总结一下常见的 签名生成规则 规则1 客户端 每个 HTTP 请求中均需要携带以下的 HTTP 标头字段(HTTP Request Header) 默认名称 带 RC-前缀 类型 说明 App-Key RC-App-Key String 后台分配的 App Key Nonce RC-Nonce String 随机数,不超过 18 个字符 Timestamp RC-Timestamp String 时间戳,从1970年1月1日0点0分0秒开始到现在的毫秒数 Signature RC-Signature String 数据签名。您需要参考下文的签名计算方法生成该字段的值 ...

php 使用 protobuf

Backend

协议缓冲区(Protocol Buffers)是一种语言中立、平台中立的可扩展机制,用于序列化结构化数据。 安装 wget https://github.com/protocolbuffers/protobuf/releases/download/v3.20.0/protobuf-php-3.20.0.tar.gz tar -zxvf protobuf-php-3.20.0.tar.gz cd protobuf-3.20.0 ./configure --prefix=/usr/local/protobuf make make install #软链 ln -s /usr/local/prot...

使用 ControlFlag 扫描出 PHP 代码中的错误

Backend

ControlFlag是一个开源的、利用机器学习来发现任意代码库中的错误的项目,起初它专注于发现C/C++代码中的错误,但随着其新的V1.1版本的发布,开始支持发现PHP代码当中的错误。 安装 注意gcc和cmake的版本,太低不行1️⃣ #下载安装包 https://github.com/IntelLabs/control-flag/releases/tag/v1.1 cd control-flag-1.1 cmake . make -j make test #创建日志目录 [root@nfsFileSystem control-flag-1.1]# mkdir log 扫描 扫描...