
php
文章平均质量分 65
qiuziqiqi
这个作者很懒,什么都没留下…
展开
-
java PKCS8私钥签名 php 实现
jave实现如下服务方只提供了 java版的示例,php只好自己撸纵观加解密流程 rsa有公钥加密,私钥解密 和 私钥签名公钥验签 这两种http://www.metools.info/code/c82.html(在线ras加解密)1./** * 公钥加密私钥解密 */$rsaPublicKey,$rsaPrivateKey 均为pem格式的公私钥文件 以如上图格式开头结尾为pkcs8的$data = '公钥加密内容'; //公钥加密$rsaPublicKey = o..原创 2021-05-27 19:36:58 · 1338 阅读 · 0 评论 -
laravel 使用AWS S3
API 文件上传/删除1.安装扩展composer require aws/aws-sdk-php-laravel2.注册服务#app/config/app.php// 将下面代码追加到 providers 数组中Aws\Laravel\AwsServiceProvider::class,// 将下面代码追加到 aliases 数组中'AWS' => Aws\Laravel\AwsFacade::class,3.配置文件#app/config/aws.phpreturn [转载 2021-05-24 18:17:16 · 793 阅读 · 0 评论 -
PHP实现通过geoip获取IP地理信息
如果想获取到用户的地理信息可以通过geoip来实现,或者第三方接口,下面是geoip库的实现方式geoip是通过来访者的IP,定位他的经纬度,国家/地区,省市,甚至街道等位置信息torann/geoip 是为 Laravel 定制的获取 IP 地理信息的扩展包如果你想利用高德的api获取一些地理信息的话点击:juejin.im/post/684490…1. 安装1). 使用 composer 安装:composer require torann/geoip复制代码2). 修改转载 2021-05-23 20:25:30 · 782 阅读 · 0 评论 -
php解析ipa包,获取logo
以下是旧版本教程,为了兼容laravel6.0 作者有新开发地址https://github.com/madnest/madzipper使用以下方法可以将压缩包内容 转存到指定目录Madzipper::make('test.zip')->folder('src')->extractMatchingRegex($path, '/^(?!.*test\.php).*$/i');主要用以下逻辑获取plist文件中的$ipaInfo['CFBundleIcons']['CFBu.原创 2021-03-18 17:20:57 · 478 阅读 · 0 评论 -
linux下使用zsign签名
isign会对部分包不支持,故而改用zsignhttps://github.com/zhlynn/zsignCentOS7:yum install openssl-develand theng++ *.cpp common/*.cpp -lcrypto -O3 -o zsign使用g++编译时会报错 提示错误:#error This file requires compiler and library support for the ISO C++ 2011 standard原创 2021-02-02 10:27:46 · 2753 阅读 · 1 评论 -
iOS证书(p12)获取解密公私钥
1.得到一个证书 在mac上用钥匙串安装 找到类型 证书和密钥 导出可以得到两个文件 分别是公钥和私钥2.可参考开源https://github.com/tanghengzhi/isign-php这个是thinkphp使用isign签名的流程DCloud_App_Array发布:2015-01-26 13:23 更新:2021-01-20 18:56 阅读:523877iOS证书(.p12)和描述文件(.mobileprovision)申请分类:HTML5+5+App...转载 2021-01-28 16:27:38 · 6316 阅读 · 0 评论 -
linux 下使用isign 签名ipa包
#centos7 安装 isign#centos应该自带python和openssl,这两个就不用装了,先安装zip和gityum install -y unzip zipyum install gitsudo yum install libffi-develsudo yum install python-devel.x86_64sudo yum install openssl-devel#setuptools也要安装sh INSTALL.shgit clon..转载 2020-11-19 11:31:48 · 1811 阅读 · 0 评论 -
laravel框架中使用redis时报错
laravel框架中使用redis时报错:Please make sure the PHP Redis extension is installed and enabled 问题解决非凡忍者2020-09-01 17:55:2757收藏分类专栏:phpredislaravel文章标签:redislaravelphp版权最近在Laravel项目中需要用到Redis,于是安装之。本以为先安装好Redis Server端,再按照Laravel手册用composer安装pr...转载 2020-09-05 16:17:00 · 967 阅读 · 0 评论 -
bluerhinos/phpMQTT实践
PHP MQTT 实践时间:2019-08-29本文章向大家介绍PHP MQTT 实践,主要包括PHP MQTT 实践使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。MQTT介绍:http://mqtt.org服务器端https://mosquitto.org/download/PHP客户端https://github.com/bluerhinos/phpMQTTMQTT QOS等级订阅和发布的关系https://www.jians.转载 2020-08-05 12:07:23 · 1823 阅读 · 0 评论 -
laravel on duplicate key update
在实际应用中,经常碰到导入数据的功能,当导入的数据不存在时则进行添加,有修改时则进行更新,在刚碰到的时候,第一反应是将其实现分为两块,分别是判断增加,判断更新,后来发现在mysql中有ON DUPLICATE KEY UPDATE一步就可以完成,感觉实在是太方便了, 该语句是基于唯一索引或主键使用,比如一个字段a被加上了unique index,并且表中已经存在了一条记录值为1,下面两个语句会有相同的效果:INSERT INTO table (a,b,c) VALUES (...转载 2020-07-22 17:27:11 · 1204 阅读 · 0 评论 -
laravel 调试sql
laravel打印执行的Sql语句用laravel,有时候,突然报错,虽然知道是 sql执行的问题,又或者是想知道自己写的语句执行用laravel,有时候,突然报错,虽然知道是 sql执行的问题,又或者是想知道自己写的语句执行的过程!这个时候就需要能看到所有语句了…有两种方法,第一种:下载clockwork扩展,这个扩展可以在很多框架里调试,比如laravel,lumen,CI等等,很是好用, GitHub地址:https://github.com/itsgoingd/cloc..转载 2020-07-22 11:05:45 · 431 阅读 · 0 评论 -
Laravel chunk 不使用id
写于2020-01-06PHP/LARAVEL12 分钟 读完 (大约 1837 个字)339次访问Laravel chunk和chunkById的坑公司中的项目在逐渐的向Laravel框架进行迁移。在编写定时任务脚本的时候,用到了chunk和chunkById的API,记录一下踩到的坑。一、前言数据库引擎为innodb。表结构简述,只列出了本文用到的字段。字段 类型 注释 id int(11) ID type int(11)...转载 2020-07-08 10:24:36 · 679 阅读 · 0 评论 -
git 修改已提交记录的邮箱
先执行修改,替换成新的 用户名和 邮箱,注意 会将所有人的提交都转换成新的记录git filter-branch -f --env-filter \"GIT_AUTHOR_NAME='Newname'; GIT_AUTHOR_EMAIL='newemail'; \GIT_COMMITTER_NAME='committed-name'; GIT_COMMITTER_EMAIL='committed-email';" HEAD然后将更改的历史记录推送到原始存储库中,请使用:git push原创 2020-07-06 15:44:10 · 1260 阅读 · 0 评论 -
laravel fastcgi_finish_request Middleware
fastcgi_finish_request()是php-fpm提供的可提前结束连接响应数据并在后端继续执行任务的函数,为了执行耗时较长的任务或提高响应速度的时候,我们可以使用这个函数来简单实现,当然,更好的方式是使用队列。在Laravel中,发送响应就会调用fastcgi_finish_request()(若存在),之后会调用terminate()方法,该方法会依次执行注册的中间件中的terminate()方法。文档中使用 Terminable Middleware 是需要注册全局中间件,但实际中原创 2020-05-27 16:22:43 · 286 阅读 · 0 评论 -
chrome 安装 yapi 扩展教程
电脑上装过但是失效了,(官方提供的已阵亡)安装方法1.下载扩展 zip下载链接首先手动下载 zip 文件,然后解压2.打开 chrome://extensions必须开启开发者模式3.然后点击加载已解压的扩展程序...转载 2020-05-15 16:35:42 · 1028 阅读 · 0 评论 -
mysql union orderby 无效
SELECT*FROM`table_201604`ORDERBY`REPORT_TIME`DESC UNIONALL SELECT*FROM`table_201605`ORDERBY`REPORT_TIME`DESC [Err]1221-IncorrectusageofUNIONandORDERBY报错的原因,是不正确使用UNION和ORDER BY指令,为什么呢?经过一番查找资料,才知道MYSQL中UNION的语法...原创 2020-05-12 21:01:15 · 911 阅读 · 0 评论 -
laravl 文件存储云存储
项目部署到生产环境,有两台lbs,文件上传后,如果命中一台没有文件的服务器,资源文件查询会显示404,可以做磁盘同步文件,laravel 中也有比较方便的做法,增加一个ftp上传配置,同理支持aws的s3和七牛云,可以将文件上传到远程服务。1、简介Laravel 基于 Frank de Jonge 开发的 PHP 包Flysystem提供了强大的文件系统抽象。Laravel 文件...翻译 2020-04-27 10:20:34 · 284 阅读 · 0 评论 -
laravel使用uuid主键ID
今天在使用laravel框架的时候遇到一个坑.laravel默认的主键id是自增的整型数字,而在数据量大的情况下使用整型数字会出问题,所以我决定使用uuid来做为主键id.这样做之后遇到的一个问题就是在通过模型create方法添加数据后会返回一个模型实例,而模型实例返回回来的主键ID值始终为0,打印整个模型实例发现是int型,而在设计表的时候我把id设置成的是string类型,找到框架源码的Mod...转载 2020-04-15 10:51:42 · 915 阅读 · 0 评论 -
passport 简易搭配
很多企业做项目使用前后端分离,后端提供接口地址,前端使用接口地址拿数据,并渲染页面。那么,前端用户登录如何使用接口进行认证?网上各种教程写的不堪入目,完全看不懂,所以我根据自己的理解,写下此篇文章,希望能帮助到大家。 ##后端(Laravel5.6框架)1、使用composer安装Passport,打开终端,执行命令:composer require laravel/passport ...转载 2020-03-24 14:37:03 · 781 阅读 · 0 评论 -
企业微信 48002
最近开发企业微信小程序,很久之前做过应用,现在看起来 可以视为小程序的前身。这里要说明一点,小程序有企业微信版和微信版,可以互相移植。查看官方小程序文档https://developers.weixin.qq.com/miniprogram/dev/dev_wxwork/业务流程图如下在使用企业微信的access_token 和 前端的code 码 去微信服务端 换取...原创 2019-12-27 14:58:27 · 3791 阅读 · 0 评论 -
The filename is not recognised as an OLE file
使用laravel excel 导入excel 文件后,使用甲方给出的excel文件导入后发现报错The filename xxx is not recognised as an OLE file查了下,有个人的经历如下虽然该文件可能有一个xls扩展名,这是一个“假”的Excel文件。如果您在文本编辑器打开该文件你会发现它实际上是一个HTML文件。我的原因是模版有错,我直接把Ex...原创 2019-12-20 16:13:32 · 5144 阅读 · 0 评论 -
laravel excel 3.1 导入使用
好久没写博客了 来一篇贴一个 官方使用手册https://docs.laravel-excel.com/3.1/imports/custom-formatting-values.html#available-datatypesphp artisan make:import UsersImport --model=User新的写法比以前闭包嵌套更符合laravel的解耦思路,创建...原创 2019-12-06 17:23:53 · 986 阅读 · 0 评论 -
银联支付遇到的坑
1.使用的是composer require lokielse/omnipay-unionpay dev-masterphp支付包可参考https://laravelacademy.org/post/1492.html2.call_user_func_array() expects parameter 1 to be a valid callback, class 'O...原创 2019-07-26 15:48:30 · 1129 阅读 · 0 评论 -
laravel ffmpeg 转码
先安装php拓展https://github.com/PHP-FFMpeg/PHP-FFMpeg/<?phpnamespace App\Jobs;use FFMpeg;use Illuminate\Bus\Queueable;use Illuminate\Support\Facades\Log;use Illuminate\Support\Facades\File;...原创 2019-07-11 17:15:46 · 1073 阅读 · 0 评论 -
php 3DES加密 总有一款适合你
/** * 进行3des ecb 模式加密 * * @param $message * @param string $key * @return string */public function encode($message){ $message = $this->pkcs5Pad($message, 8); if (strlen($message) % 8)...原创 2018-05-08 16:13:32 · 1327 阅读 · 0 评论 -
git merge 和 git rebase 区别
1.同样都是合并代码个人觉得唯一区别就是会不会在git记录上生成多条记录线megre 是在本地pull之后比较后合并再生成一个新的记录并提交rebase 先将当前分支的提交临时保存,再将分支更新 为最新的"origin"分支(将HEAD指针移到当前origin分支顶部),再将临时保存的提交应用到当前分支,说白了就是 一个合并先后的问题可以理解为类似 pull之前 先将自...原创 2019-08-07 18:20:14 · 163 阅读 · 0 评论 -
laravel 部署 file_put_contents failed to open stream: No such file or directory
1.赋予/storage文件夹读写权限:chmod -R 777 storage;2.file_put_contents(/project/storage/framework/sessions/gJjwXzaACc0S08m2QW9iJ5XV3WMxkCAH5YuSs9ja): failed to open stream: No such file or directory手...原创 2019-08-23 17:18:27 · 7554 阅读 · 0 评论 -
设计模式详解
https://laravelacademy.org/post/2465.html原创 2019-08-11 14:29:33 · 105 阅读 · 0 评论 -
三方支付相关问题
最近项目需要接入三方支付1.支付宝流程创建应用,审核后,需签约对应支付场景的服务一般为 pc支付,wap支付,app支付,只需申请一个应用,签约相关功能即可二维码支付 为业务自身生成二维码进行扫码支付,不建议使用,上述三种即可覆盖大部分场景2.微信支付微信支付需要单独的商户账号,不同平台涉及不同的账号1.小程序支付 需要小程序账号 关联商户账号2.wap支付 ...原创 2019-08-20 16:50:31 · 346 阅读 · 0 评论 -
laravel 通过令牌获取用户ID
不得不说 百度远不如谷歌 百度了半天每一个有用的,谷歌三个答案就出来了公共路由,我不使用中间件auth.但未登录的用户访问此路由.我想获取正在访问此路由的用户ID 如果没有通过参数或类似的东西传递用户ID,是否可以(仅使用令牌)?$access_token = $request->header('Authorization');您不需要启用auth中间...原创 2019-08-12 20:13:21 · 2239 阅读 · 1 评论 -
php程序员go语言学习过程
最近项目完工,遂学习学习go,写一下学习记录,加强记忆,顺带梳理下和php的差异1.go是编译型语言想想 C 语言编译、链接和安装可执行程序的繁琐步骤,首先要通过 configure 脚本对特定平台进行检测,比如是否包含 GCC 等编译工具,然后生成 Makefile 文件,该文件定义了编译、链接规则,为下一步编译工作做准备,接下来就是执行 make 命令进行编译工作,最后再执行 make...原创 2019-08-29 18:06:05 · 523 阅读 · 0 评论 -
网易云信 短信发送
官方文档https://dev.yunxin.163.com/docs/product/短信/短信接入示例?#PHP-验证码及通知运营类短信 //网易云信发送短信 //http://dev.netease.im/docs?doc=server&#发送模板短信 function yx_sendsms($mobile='',$params='',$templ...转载 2019-06-24 10:07:27 · 896 阅读 · 0 评论 -
中级php 程序员需掌握的技能点
参考文章是java面试者经验,但仍有借鉴之处。1.分布式锁解决缓存重建并发的问题,并要求画出实际的执行流程,数据库也问的比较多,像事务的隔离级别,MySQL实现可重复读的原理,索引2.在数据库主从同步的情况下,如果从库同步主库的数据延迟比较高,怎么才能在写到主库后立刻能够读取到数据。可以强制读主库另一种方案就是在往主库写数据的时候,可以直接往内存缓存中写一份,设置一个较短的过期时间...转载 2019-06-12 10:21:18 · 650 阅读 · 0 评论 -
error: cannot lock ref 'refs/remotes/origin/test/pressure-test': 'refs/remotes/origin/test' exists;
用git pull 拉取远程分支 报错➜ api git:(master) git pl error: cannot lock ref 'refs/remotes/origin/test/pressure-test': 'refs/remotes/origin/test' exists; cannot create 'refs/remotes/origin/test/pre...原创 2018-12-17 14:54:41 · 8567 阅读 · 0 评论 -
redis类型使用
set,hash用起来比较常用,不说了队列操作lpush key value 从队头插入rpop key 从队尾弹出 返回弹出元素llen key 返回队列长度lrange key 0 -1 返回指定区间元素 支持负数 -1 为最后一个 集合操作 可以用于批量数据比较sadd key value value2 ... 添加集合元素scard key 返回集...原创 2018-12-12 15:54:38 · 127 阅读 · 0 评论 -
postman进行http接口测试
HTTP的接口测试工具有很多,可以进行http请求的方式也有很多,但是可以直接拿来就用,而且功能还支持的不错的,我使用过的来讲,还是postman比较上手。 优点:1、支持用例管理2、支持get、post、文件上传、响应验证、变量管理、环境参数管理等功能3、支持批量运行4、支持用例导出、导入5、支持云端保存用例【付费用户】 可以说POSTMAN满足了HTTP接口...转载 2018-09-04 18:25:18 · 197 阅读 · 0 评论 -
php引用及垃圾回收
每个php变量存在一个叫"zval"的变量容器中。一个zval变量容器,除了包含变量的类型和值,还包括两个字节的额外信息。第一个是"is_ref",是个bool值,用来标识这个变量是否是属于引用集合(reference set)。通过这个字节,php引擎才能把普通变量和引用变量区分开来,由于php允许用户通过使用&来使用自定义引用,zval变量容器中还有一个内部引用计数机制,来优化内存使用...原创 2018-09-04 14:33:37 · 280 阅读 · 0 评论 -
CGI、FastCGI、PHP-FPM
1)、CGICGI全称“公共网关接口”(Common Gateway Interface),是HTTP服务器与其它机器上的程序进行通信的接口,其程序须运行在网络服务器上。2)、FastCGIFastCGI是一个常驻型的CGI,它可以一直执行,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute模式)。它还支持分布式的运算,即 FastC...转载 2018-08-21 16:40:23 · 132 阅读 · 0 评论 -
为什么要用多线程
1、避免阻塞(异步调用) 2、避免CPU空转 需要处理的信息提供得太慢,导致 cpu 性能没有充分利用,这个时候多进程能充分利用 cpu在IO编程一节中,我们已经知道,CPU的速度远远快于磁盘、网络等IO。在一个线程中,CPU执行代码的速度极快,然而,一旦遇到IO操作,如读写文件、发送网络数据时,就需要等待IO操作完成,才能继续进行下一步操作。这种情况称为同步IO。在IO操作的过程...转载 2018-08-21 15:10:51 · 5799 阅读 · 0 评论 -
redis持久化方式
redis持久化的几种方式1、前言Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务 器。Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到...转载 2018-08-23 10:57:08 · 129 阅读 · 0 评论