php知识库
核电机组
收编程序员,互利共赢
展开
-
#php将时间戳 转化为天小时分秒#
两时间戳相减得到相差时间的秒数,然后转化成X天X小时X分X秒原创 2022-11-17 18:04:52 · 810 阅读 · 0 评论 -
#php 递归获取下级元素#
场景:从数据库中查询出来的数据,存在上下级关系,并且层级不确定,需要把查询出来的数据组织成tree结构。* 题目-学生答题-tree。原创 2022-10-17 15:49:41 · 810 阅读 · 0 评论 -
#paypay付款测试#
登录后,在application->sandbox accounts->create account,添加两个测试账户即可,一个是买家,一个是商家。3、登录测试账户,可以查看账户信息。1、注册paypal正式账户。2、用正式账户登录测试环境。原创 2022-09-06 20:59:08 · 658 阅读 · 0 评论 -
#php + mongodb#
window启动mongodb的方法mongod.exe --dbpath "d:\software\MongoDB\Server\3.0\data"原创 2022-07-12 16:15:35 · 167 阅读 · 0 评论 -
#php 和 ElasticSarch#
遇到性需求,需要用php对接ElasticSarchElasticSarch是什么: 简称es , Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。安装:下载链接地址https://www.elastic.co/cn/downloads/elasticsearch 遇到个问题:原创 2022-07-11 16:28:07 · 151 阅读 · 0 评论 -
#workmain在linux下启动和停止#
1:以调试方式启动 php start.php start 优点:在开发调试阶段,可以看到输出的信息,观察错误情况 2:以守护进程的方式启动 php start.php start -d 优点:关闭终端以后,系统正常运行 缺点:看不到打印的信息 3:设置开启自启 打开/etc/rc.local,在exit 0前添加类似以下代码 ulimit -HSn 102400 /usr/bin/env php /磁盘/路径/start.php start -d原创 2022-06-21 13:47:57 · 586 阅读 · 0 评论 -
#php 对接惠市宝加密验签#
概括:遇到个项目,需要对接建行的惠市宝,其他都很顺利,但是需要用php 加密验签数据的时候出现问题,经过查找资料解决,代码如下:原创 2022-06-10 18:13:50 · 346 阅读 · 3 评论 -
#php phpmail发送邮件失败的问题#
场景:使用php开发邮件发送功能,通常选择phpemail发送出现失败的情况,提示 Author等等错误。原因:使用phpemail发送失败主要是两个方面1:服务器运行环境,例如端口号,一般阿里云为了安全考虑,邮件端口25常被关闭,smtp发送邮件最好选择4652:发件用的邮箱账号有关系解决方法:1:选择smpt服务,端口使用4652:邮箱账号满足条件 登陆对应的邮箱账号,开启smpt服务,开启的时候获取密码(主要开发的密码不是登陆邮箱的密码)解决如图所示端口选择 和 密码设..原创 2022-02-23 14:15:38 · 2147 阅读 · 0 评论 -
#百度地图和腾讯地图经纬度转换#
/*** 百度地图---->腾讯地图* @param double $lat 纬度* @param double $lng 经度* @return array();*/function bdMap_to_txMap($lat,$lng){ $x_pi = 3.14159265358979324 * 3000.0 / 180.0; $x = $lng - 0.0065; $y = $lat - 0.006; $z = sqrt($x * $x + ...原创 2021-12-27 18:12:05 · 281 阅读 · 0 评论 -
#php的rsa加解密返回失败的问题#
openssl_private_encryptopenssl_public_decrypt场景对接建行支付接口使用 以上两个函数进行加密解密的时候,返回false原因,加密字符串太长导致,对加密的字符串长度有限制解决方案,把加密字符串分成几段数组分别加密,然后再拼接方法如下:/** * 用私钥加密 */ public function private_encrypt($input) { $split = str_split($input, 117)...原创 2021-12-22 11:55:28 · 1558 阅读 · 0 评论 -
Yii的关联查询join、joinwith 的区别和使用方法
概括:主要是关于yii的关联查询总结:第一步分:使用方法实例来说明这一部分表结构现在有客户表、订单表、图书表、作者表,客户表Customer (id customer_name)订单表Order (id order_name customer_id book_id)图书表 (id book_name author_id)作者表 (id au...原创 2021-11-08 14:37:18 · 896 阅读 · 0 评论 -
#php file_get_contents模拟post的请求#
public static function sendPost($url, $datas) { $postdata = http_build_query($datas); $options = array( 'http' => array( 'method' => 'POST', 'header' => 'Content-type:application/x-ww...原创 2021-06-16 18:09:13 · 280 阅读 · 0 评论 -
#PHP框架的基本思想-01#
一个常规PHP框架,大概包含这几个部分:(1)index.php 或全局 App 对象,一个提供统一入口,一个提供容器资源管理(2)路由控制(3)请求和响应对象的封装,输入数据过滤和验证,输出数据的验证和转义,各种输入输出方法(4)MVC 分层,控制器,模型和视图层,以及 Service 层(5)数据库操作:数据库驱动、查询构造器、通用的查询方法(6)文件存储、缓存管理(7)Session, Cookie管理(8)安全性、配置、国际化、自动加载、第三方扩展机制(9)常见的工具类(其实应.原创 2021-05-12 19:55:33 · 119 阅读 · 0 评论 -
#yii框架调试错误方法#
1:查看sql语句Yii::$app->db ->createCommand()->rawSql2:打印错误信息 $model->errors遇到的问题1:save()保存数据经常保存失败原因:rule验证规则没有通过解决方案,先把验证规则去掉,看看是否那里的原因...原创 2021-04-15 18:30:04 · 143 阅读 · 0 评论 -
#php 导出Excel中文文件名乱码#
使用phpdaochuExcel的时候出现中文乱码,如图所示解决方案:1:例如 $filename = "订单-" . $data['data']['order_id'];$filename = str_replace('+', '%20', urlencode($filename)); //使用urlencode对文件名进行重新编码2:例如$fileName = iconv("utf-8", "gb2312", $fileName); // 重命名表...原创 2021-03-08 14:46:06 · 727 阅读 · 0 评论 -
#php脚本后台运行 nohum和&区别#
在linux平台上,要在后台运行脚本的话,一般是在命令之后加上&例如php 商城目录/shop/controllers/Product/cli_product.php &nohup php a.php &这样即使退出了终端,a.php依然在后台运行。Linux nohup和&的功效使用&后台运行程序:结果会输出到终端使用nohup运行程序:结果默认会输出到nohup.out平日线上经常使用nohup和&配合来启动程序:nohup p原创 2021-02-03 18:28:31 · 127 阅读 · 0 评论 -
#php 安装swcs扩展#
scws定义:中文分词,scwsc作用: 用于在搜索引擎中,可以把一段中文分割成不同的词,这些词是大家熟悉的例如: 一键商品名称: 250g未加碘雪花盐 经过中文分词处理以后 250g,未,加电 php使用之前需要安装scws扩展。1:安装scws2: 安装php扩展,把scws加入到php扩展中实现步骤:1、安装 bzip2 及 gcc gcc-c++yum install bzip2yum -y install gcc gcc-c++2、下载 scw...原创 2021-01-27 15:14:19 · 230 阅读 · 0 评论 -
#ShowDoc 01#
一个非常适合IT团队的在线API文档、技术文档工具参考网址https://www.showdoc.com.cn/demo?page_id=7原创 2021-01-27 09:40:38 · 144 阅读 · 0 评论 -
#php post请求发送大量数据导致接收不完全#
场景:有一套商城,客户发布商品,设置的大量的规格属性,Post大量数据经过排查,发现服务端接收的Post请求数据丢失运行环境centeros , lnmp部署解决方案修改 php.inimax_input_vars = 1000修改成max_input_vars = 5000post_max_size = 100M 修改成 post_max_size = 1000M重启php-fpm由于是lnmp安装,重启php-fpmlnmp php-fpm start通过php...原创 2021-01-11 09:50:35 · 761 阅读 · 1 评论 -
#微信公众号互联登录-01#
1:微信公众号一直报redirect_uri 参数错误解决方案:在配置客户的微信开发平台的互联登录一直报错,经过查询是配置的回调域名,开放平台上配置回调域名的地方缺少了www.即把 xxxx.com 修改成 www.xxxx.com如图所示,修改完以后...原创 2020-12-21 14:37:06 · 97 阅读 · 0 评论 -
#php导出Excel方法#
一:概括1:通过导出的插件 PHPEXCEL导出2:通过原始的方式,浏览器导出二:实现方式1:PHPEXCEL的方式。例如:public function pushlist(){ $_REQUEST['rows']=i('rows',8000); $_REQUEST['page']=i('page',1); $_REQUEST['sidx']=s('sidx','user_id'); $_REQUEST['sord']=s('so...原创 2020-10-21 12:14:28 · 150 阅读 · 0 评论 -
#tp6渲染view报错#
Tp6.0报错Driver [Think] not supported.如图所示解决方案composer输入composer require topthink/think-view原创 2020-09-18 13:44:07 · 465 阅读 · 0 评论 -
#linux下重启php服务#
service php-fpm restartGracefully shutting down php-fpm . doneStarting php-fpm done原创 2020-09-15 13:29:00 · 276 阅读 · 0 评论 -
#Linux安装swooler#
采用编译安装的方式实现准备号swooler源码,上传到服务器上去1:安装步骤cd swoole-src && \phpize && \./configure && \make && sudo make install2:配置php.ini配置文件中添加extension=swoole.so遇到的问题configure: error: Cannot find PHP-config. Please use --with-原创 2020-09-15 12:07:20 · 84 阅读 · 0 评论 -
php获取首字母函数
header('content-type:text/html;charset=utf8');/*** 取汉字的第一个字的首字母* @param type $str* @return string|null*/ public static function getCharter($str){ if(empty($str)){return '';} $fchar=ord($str{0}); if($fchar>=ord('A')&&$fc...原创 2020-09-12 06:22:09 · 102 阅读 · 0 评论 -
#redis基础-window安装01#
window的场景部署redis的环境1:检查运行环境,选择对应的redis版本通过phpinfo查看运行环境,如图所示<?php phpinfo();?> 查看扩展文件版本(特别注意以php版本的architecture是x86还是64为准,不能以操作系统为准)2、线程安全ts还是非线程安全ntsPHP的两种执行方式:ISAPI和FastCGI。FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行...原创 2020-09-10 10:54:13 · 75 阅读 · 0 评论 -
#redis运维01 --window#
一安装redis安装到window中去1:下载widow的安装包2:解压切换到对应的目录下shift + 鼠标右键3: 安装到window的服务中去 redis-server --service-install redis.windows.conf 可以安装多个实例 1、redis-server --service-install –service-name redisService1 –port 10001 2、redis-server ...原创 2020-09-07 18:52:18 · 68 阅读 · 0 评论 -
#php memcache的使用01#
基础使用方法一、Memcache简介Memcache是danga.com的一个项目,最早是为LiveJournal服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。它可以对应任意多个链接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached管理这些HashTable,所以速度非常快。二、Memcache和Memcached的区别为什么会有Memcache和Memcached两个名称?其实..原创 2020-09-07 09:18:39 · 77 阅读 · 0 评论 -
#php 安装memcache的扩展#
1:window系统安装php-memcache扩展下载memcache.dll扩展下载地址是http://windows.php.net/downloads/pecl/releases/memcache/3.0.8/注意 下载对应的php版本 V9 V6 V11 安全模式和非安全模式三点可以通过再运行的phpinfo查看到,如图所示根据以上信息选择对应的memcache扩展,如图下载解压,把对应的php_memcache.dll放到 php对应的扩展目录中,例如D...原创 2020-09-05 12:04:32 · 121 阅读 · 0 评论 -
#membercachezoo总结01#
1、memcache为什么比操作数据库快的多?因为操作内存比操作硬盘(数据库数据存在硬盘上)快的多减少对数据库的访问,因为数据库的访问比较花费时间2、memcache优点 是什么?1.快速缓存2.跨域登录3、memcache缺点 是什么?1.不能进行复杂的数据存取的操作,只能key-value2.不能永久保存数据4、memcache缓存的特点 是什么?在内存中缓存数据数据形态以 key->value 结构5、php使用memcache需要什么?memcac...原创 2020-09-03 13:26:23 · 275 阅读 · 0 评论 -
#window安装membercache#
下载window的安装包例如根据版本下载一个window的。连接如下64位系统 1.4.4版本:http://static.runoob.com/download/memcached-win64-1.4.4-14.zip下载到一个目录里面,执行 memcached -d installedfailed to install service or service already installed原因:没有以管理员身份使用解决方案:右键以管理员身份运行,运行完以后就不会报错.原创 2020-09-02 16:14:14 · 207 阅读 · 1 评论 -
#PHP pfx私钥 cer公钥 SHA256WithRSA签名验签算法#
开发银行或海关的项目经常遇到加密解密的问题一般客户会提供两个文件.pfx 结尾的(公钥加私钥文件).cer 结尾的文件 (包含公钥文件)私钥一般都是pfx格式(私钥用来加密生成签名发送报文)公钥是cer格式(公钥用来验证返回报文里的签名)。但是php里openssl只能用pem格式,需要把这两个文件转化成pem的1:PHP的方式转化//filePath为pfx文件路径function signfrompfx($strData,$filePath,$keyPass) { ...原创 2020-08-04 13:39:02 · 962 阅读 · 0 评论 -
#php获取时间问题#
//php获取今日开始时间戳和结束时间戳 $beginToday=mktime(0,0,0,date('m'),date('d'),date('Y')); $endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1; //php获取昨日起始时间戳和结束时间戳 $beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y')); $endYesterday=m...原创 2020-07-24 16:35:06 · 118 阅读 · 0 评论 -
#php上传文件失败#
在宝塔的环境下,使用laravel做上传图片一致失败使用 print_r($_FILES) 输出报错 $_FILES["file"]["error"] = 6解决方案1:检查文件的扩展是否安装 php安装fileinfo扩展2:权限问题。 检查php允许上传的临时文件路径中是否有权限 即upload_tmp_dir 这个对应的路径是否有写入的权限 如果没有配置,ph...原创 2020-04-23 16:51:13 · 243 阅读 · 0 评论 -
#宝塔安装Laravel出现open_basedir 错误#
宝塔安装好LAMP的运行环境以后,部署Laravel的框架应用出现如下提示错误Warning: require(): open_basedir restriction in effect. File(/www/wwwroot/cWarning: require(): open_basedir restriction in effect. File(/www/wwwroot/uim/vendo...原创 2020-04-22 17:51:16 · 1248 阅读 · 0 评论 -
#卸载php安装包,安装php7.4#
一:查询卸载#rpm -qa|grep php 查询被安装的php包#rpm -e xxx 删除查询到的包#rpm -e xxx --nodeps 如果有依赖报错,强制删除二:安装:待续原创 2020-04-21 13:39:45 · 697 阅读 · 0 评论 -
#PHP json_encode转化数据失败#
1:使用json_encode 转化一个数组成json字符串,结果为空 解决方案:使用json_last_error_msg() 检查错误 例如:$ssssss= json_last_error_msg(); print_r( $ssssss); 出现提示 json_encode 报错 Inf and NaN cannot be JSON encoded...原创 2020-04-19 17:56:40 · 728 阅读 · 0 评论 -
#git 日常使用#
1:场景:使用 git add . 把文件加入到暂存区域 ,使用git status查看,发现有个文件是多余的,需要撤回重新git add .解决方案: 例如 撤回所有的文件 git reset HEAD 撤回某个文件 git reset HEAD new_src/app/Http/Controllers/Frontend/KyHome/KyHomeApp.p...原创 2020-04-19 06:36:50 · 96 阅读 · 0 评论 -
#laravel 自定义分页#
需求: 手机端有个列表页,需要通过ajax 分页查询到 laravel 中,分页查询实现方案:如下public function page(Request $request,$num){ $page = $request->input('page', ''); // 获取当前页数 if(empty($page)) { $pag...原创 2020-04-18 18:54:43 · 148 阅读 · 0 评论 -
#laravel中artisan工具#
一:Artisan工具简介Artisan 是 Laravel 中自带的命令行工具的名称。它提供了一些对应用开发有帮助的命令。它是由Symfony Console 组件驱动的。是个php的文件,放在根目录下二:常用的东西1:查看所有命令 php artisan list2:创建控制器。例如php artisan make:controller MsgController ...原创 2020-04-15 11:51:16 · 182 阅读 · 0 评论