自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 PHP发起curl请求未获返回响应 HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)

postman请求接口数据正常返回,curl请求无返回,打印curl_error,获取到报错信息:HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)解决方法:在发起请求前设置请求使用的http版本协议:curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);...

2021-12-28 11:05:54 1654

原创 linux安装gmp扩展库

因公司客户使用了ipv6地址,需将ipv6地址转成十进制的数字存放在数据,方便进行区间查找,本来本地的wiondows系统,直接在php.ini文件中将扩展前的分号去掉后,重启apache就可以了,哪知上了正式环境的linux系统就各种报错:最后在前同事的指导下进行gmp扩展库的安装,安装命令:sudo apt install php-gmp期间有报错:如果报上面的错,就执行命令:sudo apt update 在执行"sudo apt install php-gmp"命令。尝试解决步骤:1.

2021-11-26 17:59:36 2998

原创 ocelot网关访问websocket失败问题

1.webSocket运行方式:thinkPHP6里的worker2.nssm3.网关 ocelot (.net开源网关)4.服务器:windows2012 => 开启websocket功能

2021-06-02 17:07:42 634 1

原创 file_get_contents()方法请求ip地址失败,需使用域名访问

问题:file_get_contents()方法直接访问ip地址+接口报错,如file_get_contents(3*.1**.7*.1**/getId),报错failed to open stream: No such file or directory。正解:需使用域名+接口方式,如file_get_contents(local.test.com/getId).原因:具体原因不知,我个人理解为如果是ip的话,就解析为路径了。...

2021-06-02 17:00:48 687

原创 [sqlserver]sql:将两列的值拼接在一起

需求:需将a列和b列的值拼接成字符串,赋值给c列;sql写法:UPDATE 表名 SET 列名c=CAST(a列列名AS VARCHAR)+CAST(b列列名 AS VARCHAR) WHERE 修改条件;注释:CAST()方法是将字段类型转换为指定类型,如上,我是将字段类型都转为字符串进行拼接。注意:sqlserver的sql语句中,“+”号两边都是数字的话,则是进行加法运算;如果两边都是字符串的话,则是拼接。如果一边为数字,一边为字符串,则会报错(例如:从数据类型 varchar 转换为..

2021-05-13 10:39:08 5981

原创 ThinkPHP6+easywechat做微信支付扫码支付遇到的回调问题

代码环境:thinkPHP6 +php7.2 + windows server框架运行方式:worker (命令行里运行 php think worker)遇到的问题:1.支付成功后,微信没有请求(没有进到)配置的回调接口;2.请求接口后,接口里未获取到相应的xml参数。问题1详细描述:在统一生成订单接口中配置的回调地址(notify_url),外网可直接访问且能访问成功,服...

2020-03-01 22:23:24 5295

原创 记php.ini中session.save_path配置导致的一个bug(通过ini_set("display_errors", 1)获取php报错信息)

服务器系统:windows server 2016应用环境:PHP 7.0.33 + apache2.4+SQLSever【BUG现象】PHP接口能正常响应且返回正确数据,但http状态值报500。 最开始拿不到任何其它的报错信息,只能看到http报Status Code:500 Internal Server Error错误,在apache的error.log里也没有记录任...

2019-09-25 12:09:47 1769

原创 yii2框架下设置RabbitMQ消费方拿取处理消息的数量(RabbitMQ堆积消息过多导致服务卡死)

【环境配置】1.框架:YII22.操作系统:Windows10(64位 )3.RabbitMQ版本:3.7.5【问题】因新需求需向数据库写入两万多个用户,并完善用户对应信息,因此导致RabbitMQ消息队列中有几万条消息队列,而在处理消息队列现象过程中,发现每处理掉200多个队列RabbitMQ服务就会卡死,其原因就是因为积压的消息队列(Unacked)过多(大概5千多个消息队...

2019-05-08 17:25:32 1077

原创 PHP调用.bat文件执行codeception测试命令

需求:通过接口或url地址请求,使php代码调用且执行一个编写得有调用codeception测试命令的.bat脚本。代码环境:phpStudy集成环境(php-7.0.12-nts+Apache);YII2(basic版)框架;服务器及本机操作系统:widows遇到的问题:exec()函数执行编写调用codeception测试命令的文件时无任何返回值。具体情况为,exec()函数能够正常执...

2018-11-09 18:40:13 857

原创 PHP中将ip转为数字(ipv4/ipv6)

需求:将ipv4或ivp6的ip地址转为数字后存入数据库中一、将ipv4转为数字(正整数):ipv4可直接用PHP自带的函数ip2long()函数与sprintf()函数结合进行转换,代码如下:$ip = '202.203.44.225';$ipToInt = sprintf('%u',ip2long($ip)); // 结果为:3402312929echo "ip '202.2...

2018-09-06 15:33:52 5847

原创 PHP在正则表达式中匹配反斜杠‘\’时需要注意的问题(PHP中的正则表达式无法匹配反斜杠‘\’)

问题:在PHP中,写正则表达式时,无法匹配反斜杠‘\’,例如:'/^[0-9\\]*$'/ 无法匹配 字符串‘55\’。解决方式:在PHP代码中的正则表达中想要匹配反斜杠‘\’,需要使用4个‘\’,如上面的正则表达式应该修改为:'/^[0-9\\\\]*$/'。原因:因为在PHP及正则表达式中,反斜杠‘\’代表转义符,而在PHP中,两个反斜杠‘\’经过转义之后,就只剩一个反斜杠‘\’,所以...

2018-08-29 17:55:24 3303

原创 PHP连接SQLSever数据库(PHP7+SQLServer)

问题:在PHP+Apache+MySQL环境下(windows系统),链接SQLServer数据时,出现“can not find driver”问题。解决方法:在php.ini文件下开启 php_sqlsrv_7_nts_x86.dll 和php_pdo_sqlsrv_7_nts_x86.dll 扩展,所需步骤共4步。准备工作:获取php_sqlsrv_7_nts_x86.dll 和...

2018-05-28 17:17:18 7496 1

原创 Mysql:替换某个字段中的部分字符串——replace函数

需求:因同事操作不当,使某个字段出现了不必要的字符串,导致数据无法正常解析,需要将该字符串统一去掉。解决:使用replace(obj, search, replace_str)函数;示例:将member表中的phone字段的里多余的分号去掉sql语法: UPDATE 表名 SET 字段名=replace(字段名, ‘被替换字符串’, '用来替换的字符串') ;sql: UPDA...

2018-03-22 15:09:28 54270 6

原创 MySql分组查询(group by)并计算对应的字段之和及两个字段相乘之后的和

mysql分组查询时求出对应字段的和及两个字段相乘以后的和

2017-12-14 22:24:02 25868

原创 phpStudy+ThinkPHP配置的nginx环境出现404错误

环境配置:框架是ThinkPHP5.08,环境是用phpStudy选的nginx环境;问题现象:访问配置的虚拟目录时,可以访问到框架的入库文件,但无法访问到虚拟目录对应的模块(启用了项目分组)。问题出现原因:集成环境自动生成的vhost.conf文件中缺少几个配置语句if (!-e $request_filename) { rewrite ^/(.*)$ /index.ph

2017-09-07 17:45:31 2731

原创 在phpStudy下的nignx配置虚拟主机(虚拟目录)无效

遇到的问题:由于要开发新项目,公司要求用nigix服务器,结果在配置过程中遇到这样的问:按网友朽木大叔给出的方法配置了虚拟主机(http://www.cnblogs.com/aoxueshou/p/6598615.html),但输入域名之后,始终没有指向我的根目录,而是phpStudy自带的首页。解决:问朋友之后,才知道可以直接用phpStudy去建虚拟主机,不用自己苦哈哈的改conf等相关文...

2017-08-02 17:38:04 2345

原创 在ThinkPHP中引入极光推送的类

在ThinkPHP框架中引用极光推送

2017-07-04 09:55:03 1773

原创 ThinkPHP(3.13版) 开启事务回滚机制的坑

前段时间在写项目的新功能的时候遇到TinkPHP框架的一个坑,就同时操作两张表时,出现重复提交数据的问题。具体现象:向A表插入一条新数据,向B表修改部分数据的字段值,我是用A表开启的事务,最后就出现只要在B表里修改了几条数据,那么A表里就重复提交了几次数据。原因:不详解决:最后改为用B表开启事务就解决了数据重复添加的问题

2017-07-04 09:47:24 877

原创 thinkPHP的数据缓存问题

昨天遇到的一个问题,即用两个浏览器登录不同的角色,然后请求同一个接口(根据角色不同给了不同的查询条件)进行数据查询,发现角色一查询数据之后,角色二去查数据时,拿到的是角色一查询过的数据。打印session没有串,查询条件也不一样,但问题是角色一查询的时候执行了查询语句,角色二查询的时候却没有执行查询语句。一直很好奇角色二是如何没有通过执行查询语句而拿到数据,隐约觉得可能与缓存有关。于是把thi

2017-07-04 09:21:42 1685

原创 ThinkPHP查询数据的时候,自动把字段名的大写切换成小写的问题!

前几天心血来潮把以前写的一个项目翻出来看看,可是没有数据库,只有根据代码提示不断的重建数据库。在这个过程中,发现自己在数据库里定义为大写的字段,在查询和判断的时候,报错说怎么也找不到,后来经过打印数据的时候才发现,查询以后,ThinkPHP自动把我定义为大写的字段转换为小写了。本来以为这是ThinkPHP框架一个不可改的问,结果今天无聊在网上查询,发现早有大神发现并解决了这个问题。以上问题出现

2017-05-31 16:09:22 4290

原创 mysql查询的时候不区分大小写的解决方法

在登录账号的时候发现,自己的账号某个字母明明是大写,但输入小写也查询出来了,后来发现这是因为mysql在查询的时候,默认是不区分大小写的,对此有三种结解决方法第一种:在建表时就加上区分大小写的属性,比如:create table `usertable`(  `id` varchar(32) binary, PRIMARY KEY (`id`)) ENGINE=InnoDB DE

2017-04-21 12:11:10 4872 2

原创 PHP使用mkdir()方法创建目录

由于项目需求改动,所以以前定义图片路径的方式发生了改变,但是在使用文件上传方法时始终上传失败,并且拿不到报错信息(项目使用的ThinkPHP3.13框架)。经过层层打印,发现问题出现在文件存储路径没有创建成功上。当时感到很奇怪,因为tp的文件上传是会根据路径创建不存在的文件目录的。经过百度和看手册,发现在使用mkdir()方法的时候,是有必传参数的手册资料:mkdir(path,mo...

2017-04-17 17:33:57 7923

原创 MySql关于修改字段名/长度相关问题(不定时更新)

mysql版本:5.6.17一、修改某个字段的类型及长度由于项目已上线,已经有用户的数据存在,而在后期开发中发现某个字段名的长度不够用,所以只能用sql语句单独修改那一个字段的长度而不修改其它:sql语法:alter table 表名 modify column 字段名 类型(长度);例子:alter table user modify column name varcha

2017-03-29 17:54:31 1261

原创 ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

因为在安装了独立环境之后,有一段时间又安装了集成环境,在卸掉继集成境之后,却怎么也连接不上MySQL数据库,连接时还报出:ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)这样的错误。确定MySQL安装成功和已经添加到环境变量。最后发现是MySQL没有启动(可能是使用集成环境的时候关闭了,自己后期...

2017-01-09 20:27:50 357

原创 ThinkPHP:R()方法请求控制器无权限

问题描述:在请求公共控制器里的一个方法时,始终报错:无权限。该公共控制器是不用验证权限的,并且请求时要求传输的数据都有传送。问题原因:项目中有用到分组,在使用R()方法时并没有指定是那个分组下面的公共控制器,进而出错。解决办法:在使用R()方法时,指定分组,如R('分组名://控制器名/方法名',(参数1,参数2……))eg:R('Vendor://Common/addTe

2016-12-28 11:05:21 651

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除