TypechoJoeTheme

Yuuuuuu

搜索到 27 篇与 的结果
2023-08-02

PECL无法安装时手动编译安装PHP扩展

PECL无法安装时手动编译安装PHP扩展
这里用mongodb举例1.手动下载mongodb扩展源码https://pecl.php.net/package/mongodb如需要下载其他扩展,在官网右上角搜索即可2.找个目录解压,进入到第二层文件夹目录(和package.xml同级目录)3.使用终端进入刚才这个目录cd /xxx/mongodb-1.16.1/mongodb-1.16.14.找到你要安装的对应PHP版本的phpize,如果是默认php版本可以使用which phpize查看路径,比如我需要安装php7.2版本的扩展,这里就是用我电脑上php7.2路径里的phpize,然后回车/Applications/MAMP/bin/php/php7.2.34/bin/phpize5.生成安装文件同上面一样,找到你要安装的对应PHP版本的php-config,找不到可以使用which php-config参考查看比如我电脑对应的路径为/Applications/MAMP/bin/php/php7.2.34/bin/php-config那我这一步我的执行命令就是./configure --with-php-config=...
2023年08月02日
1,604 阅读
0 评论
2021-10-14

给Thinkphp3用上composer

给Thinkphp3用上composer
都2021年了,我不理解为什么还要使用TP3的项目修改系统构建时使用的是 thinkphp3.2.3,当时的框架并没有使用 composer 作为包管理器,第三方包统一放到了 ThinkPHP/Library/Vendor 目录下面。随着第三方包越来越多,单纯的使用 vendor() 加载扩展已经没法满足要求,所以记录下tp3使用composer的过程1. 项目根目录添加 composer.json{ "require": { "zircote/swagger-php": "^2.0", "giggsey/libphonenumber-for-php": "^8.12" }, "repositories": { "packagist": { "type": "composer", &q...
2021年10月14日
1,948 阅读
1 评论
2020-11-05

PHP一个简单字符串拼接签名的方法(Join)

PHP一个简单字符串拼接签名的方法(Join)
经常有需求类似于:第一步:设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。第二步:在stringA最后拼接上key得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值signValue。以往都是$k=$v&,最后再把末尾的&去掉,比较麻烦。无意间发现了有个join函数,用法如下:/** * 获取签名 * @param $params array 数组 * @return string 拼接后的字符串MD5 */ public function getSign($params) { ksort($params); $str = []; foreach ($params as $k => $v){ ...
2020年11月05日
2,229 阅读
0 评论
2020-10-07

PHP使用mkdir创建目录后无法写入问题

PHP使用mkdir创建目录后无法写入问题
今天使用php的mkdir递归创建文件夹,创建完之后的文件夹权限是d-wxr----x也就是411,而且用chmod也没法改权限,只能sudo rm -rf 删除它原因:代码错误,mkdir函数的第二个参数不应使用字符串参数'0755',而是使用0755值错误代码:mkdir('dir_path','0755',true);正确代码:mkdir('dir_path',0755,true);
2020年10月07日
1,205 阅读
0 评论
2020-06-16

简单的身份证号码计算方法

简单的身份证号码计算方法
function checkIDCard($idcard){ // 只能是18位 if(strlen($idcard)!=18){ return false; } // 取出本体码 $idcard_base = substr($idcard, 0, 17); // 取出校验码 $verify_code = substr($idcard, 17, 1); // 加权因子 $factor = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); // 校验码对应值 $verify_code_list = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'); // 根据前17位计算校验码 $total = 0; ...
2020年06月16日
1,278 阅读
0 评论
2020-03-18

如何越过阿里云 图片/文件 防盗链

如何越过阿里云 图片/文件 防盗链
403 AccessDenied前不久一套代码里的样式突然全掉了,看了下控制台发现 css/js 和 图片文件全都403了返回提示如下This XML file does not appear to have any style information associated with it. The document tree is shown below. <Error> <Code>AccessDenied</Code> <Message>You are denied by bucket referer policy.</Message> <RequestId>5E72380661ECA1559CCB04F6</RequestId> <HostId>shepay.xxxx.com</HostId> <BucketName>shepay</BucketName> </Error>看了下是阿里云的CDN,拒绝访问了,联系不到CDN的主人,...
2020年03月18日
1,647 阅读
0 评论
2019-10-15

HTML+PHP支付自动提交 示例代码

HTML+PHP支付自动提交 示例代码
有很多时候支付都需要把参数和签名一起发送到支付平台网站,get方式还可以直接跳转,可有些网站返回的是HTML页面,这时候post方式就不能用curl了,需要自己组合html自动提交。每次这种事情都要自己从头开始,所以在这写一个简单的跳转代码备份一下。// 生成HTML文件 // @params $params array 需要提交的二维数组段 // @return string 返回Html格式字符串,可以直接输出到浏览器 public function createHtml($params) { $url = "https://note.coccoo.cc/pay.html";// todo 修改你要提交的url $HTML = "<form action='{$url}' method='post' id='dataForm' name='dataForm'>"; foreach ($params as $k => $v){ $HTML .= "<...
2019年10月15日
3,298 阅读
0 评论