抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

起因

这阵子换了新电脑,重新安装了系统,重新部署环境,装了宝塔面板,在装PHP8.1的时候,发现pathinfo怎么都装不上,一闪而过

没关系,咱是老PHPER了,直接自己编译,结果出现下面的错误

1
2
3
4
5
/www/server/php/81/ext/fileinfo/libmagic/funcs.c: In function ‘file_checkfmt’:
/www/server/php/81/ext/fileinfo/libmagic/funcs.c:97:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for (const char *p = fmt; *p; p++) {
^
/www/server/php/81/ext/fileinfo/libmagic/funcs.c:97:2: note: use option -std=c99 or -std=gnu99 to compile

傻眼了,还没遇到过呢,果断百度之,啥都没有,得了,上谷歌搜,竟然也没有…

一、生成密钥

1. 生成私钥

openssl genrsa -out rsa_private_key.pem 1024

2. 生成公钥

openssl rsa -pubout -in rsa_private_key.pem -out rsa_public_key.pem

二、 用PHP实现RSA加密,解密,加签,验签

php内置了很丰富的openssl方法,需要安装php的openssl扩展,方法百度,至于查看,就phpinfo()后查看有没有openssl,操作类如下

其实在一周多之前,PHP8就更新了正式版本,当时宝塔没更

我还专门编译了一下,当时用华为云111的云服务器,编译lnmp竟然用了1个半小时…要了老命了

本地编译挺快,大约20来分钟..

然后昨天宝塔是终于更新PHP8了,今天装上试了下,嗯…是被催太急了嘛,哈哈…

宝塔

装完PHP8,你会发现,在网站里,还有phpmyadmin中,都无法选择php8,因为我自己将PHP7.4卸载了,所以直接是静态