是的,我有神经病😅——心脏神经官能症。
开始折磨大概去年10月份左右吧,偶尔会感觉到胸口会抽痛一下,但过会也就没事了,也没太在意。直到去年11月份的一天。。。那天夜里已经睡着了,结果邻居大哥半夜才下班回家,咣当一声关楼道门声(租的这个房子的大门是一点音不隔啊)!!我家狗子如临大敌,大声狂吠,惊醒了它的老父亲,也就是在下。痛苦从此开始了😭。突然从睡梦中惊醒,顿时感觉心脏突突狂跳,并伴随着抽痛、浑身出虚汗、四肢无力……缓了好一会儿之后,并无好转,感觉整个人都要噶了,甚至都想叫🚑 了。但是想了一下还是决定自己去下急诊吧,最近的医院也只有十几分钟。
第一次就诊叫醒了懵逼的我家老大,陪我去了家附近的仁济医院。先做了急诊心电图和量了血压之后医生说没有大问题,然后让领了号开始排急诊。行吧,坚持一下,看了下号码我记得是008,心想8个人应该挺快的,到了叫号大厅之后,what’s all!!!昨天的急诊号还有好几十个人😱,且只有一个急诊科室,再且只有一个医生…… 绝望的坐下等待叫号,然后发现叫半个小时都叫不了一个号,因为有大批的人做完检查去回诊。不知道是不是因为看到这个很绝望,导致心情更差了 ...
php扩展
未读PHP使用ssh2连接sftp最近使用laravel 8文件上传的sftp功能,使用的是 phpseclib 2.0。发现连接不上对方使用sftpgo搭建的服务。报错
No compatible key exchange algorithms found,看起来是加密方式不匹配。看laravel9之后使用的是phpseclib 3.0。不知道能不能连接上。但是当前项目版本不能改变。只能换其他方式,使用ssh2来连接
给php安装ssh2扩展
查看是否已安装ssh2扩展 php -m | grep "ssh2"
安装ssh2扩展
系统
命令
mac
pecl install ssh2
centos
yum install php-ssh2
php封装sftp类<?phpnamespace App\Services;class SftpService{ // 连接为NULL private $connect; //sftp resource private $sftp; /** * 构造函数. ...
使用DTO进行方法间的数据传输工作中经常会遇到方法需要的参数很多的情况。以下拿php举栗
以往的弊端很多情况下是直接一个个形参列举开来,但往往很难维护或者阅读代码:
public function supplementContract(string $appId, string $ecid, string $mtchId, string $certNo, string $name, string $file, int $type = 2){ ...}
又或者数组传参,但往往又不能保证数组内的值是否规范,而需要再在方法中验证,徒增烦恼:
public function createInvoice(array $requestData){ $this->validation($requestData, [ 'taxInclusiveTotalAmount' => 'required', 'invoiceType' => 'required ...
解决 centos使用node 报错 version ‘GLIBC_2.27’ not found…完整报错
node -vnode: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by node)node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node)node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by node)node: /lib64/libstdc++.so.6: ver ...
按 如何获取商户API证书? 下载商户秘钥,最后获得三个证书如下
设置v3Key,随机的32位数字即可
使用composer生成平台证书
composer exec CertificateDownloader.php -- -k ${apiV3key} -m ${mchId} -f ${mchPrivateKeyFilePath} -s ${mchSerialNo} -o ${outputFilePath}
apiV3key:第二部设置的32位key
mchId:服务商的商户号
mchPrivateKeyFilePath:第一步生成的证书里的apiclient_key.pem路径,不要带\,不然生成可能会失败
mchSerialNo:服务商的证书序列号
outputFilePath:平台证书生成路径
记录一下使用Intervention\Image压缩图片安装扩展composer require intervention/image
确保php安装了GD库或者 Imagick才可以使用,默认使用Gd库
使用use Intervention\Image\Facades\Image;//打开图片文件()$img = Image::make('public/foo.jpg')//按宽300,等比缩放图片$content = $img->resize(300, null, function ($constraint) { $constraint->aspectRatio(); })->stream();
方法使用
make(资源) :支持二进制流、文件流、base64文件流、文件绝对路径、Gd库文件资源、Imagick文件资源等。具体可看下面代码
resize(宽,高,闭包):重置大小。宽高两个参数为整数,闭包支持下列两方法:
function ($constraint) { $constrain ...
使用MetingJS实现在任意地方使用外链播放器,在需要使用的地方插入如下html即可
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.css"> <script src="https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/meting@2/dist/Meting.min.js"></script><meting-js id="000owF6o3sHj50" server="tencent" type="song"autoplay="false"loop="all&quo ...
使用github搭建图床,并使用jsdeliver加速github设置
在github中新建一个公开仓库,仓库名称随意
在github的设置中添加 私人令牌token,令牌在后面使用PicGo作为图床客户端时有用
token名字随便取,要勾选repo项。token有效期如果不考虑安全性可以选不过期,然后创建即可。记得保存好token,只有生成时可见。
使用jsdelivr进行cdn加速
国内访问github难免会慢或者无法访问,使用jsdelivr加速一波
使用jsdelivr官网里github选项的这一条。
无需什么配置,只需把链接中user换成github用户名,repo换成仓库名,version换成分支名称,file换成图片在仓库中的路径即可,例如https://cdn.jsdelivr.net/gh/ashin33/alon-images@master/images/south_country.jpg
使用PicGo作为图床客户端PicGo下载地址
PicGo设置
在PicGo中选择Gith ...
php# 添加源sudo apt -y install software-properties-commonsudo add-apt-repository ppa:ondrej/php# 更新源sudo apt update# 安装php8.0-fpmsudo apt -y install php8.0-fpm# 安装扩展sudo apt install -y php8.0-{bcmath,bz2,intl,gd,mbstring,mysql,zip,gd,curl,imagick,xml,redis}# 检查php配置是否有误sudo php-fpm8.0 -t# 重启phpsudo service php8.0-fpm restart#查看当前安装了哪些版本的PHPdpkg -l | grep php
nginxsudo nginx=stable sudo add-apt-repository ppa:nginx/$nginxsudo apt updatesudo apt install nginx#启动nginxsudo systemctl start ng ...
创建模板stub
建一个stub模板,用于下面使用
在resources下新建stubs目录用于存储新建一个query-download.stub
<?phpnamespace DummyNamespace;use App\Exports\QueryExport;class DummyClass extends QueryExport{ public function headings(): array { //表头 return [ // ]; } public function columns($row): array { //每一列的数据 return [ // ]; } public function stringColumns(): array { //要转为字符串的列标 return [ ...