技术饭

阿里云负载均衡SLB服务器配置与服务器NGINX的301跳转处理方案

正常我们做小项目都是使用一台服务就可以完成了,但是对于并发数高,流量的的一台服务器正常是扛不住的,并发一高CPU就蹭蹭蹭往上飙,直到服务器超负载奔溃为止,所以我们就有理由去做多台服务器的负载均衡,当然你如果有钱也可以买一台配置超牛逼的服务器,本篇就讲讲简单的阿里云负载均衡SLB服务器配置。

阅读全文 » 1257天前
2020年11月15日

阿里云OSS文件的上传与下载

这几天弄了下新项目的负载均衡之后,文件为了统一管理,就同时也采用了阿里云的OSS作为文件存储方式,文件统一的管理解决了负载均衡文件生成在服务器上找不到文件的尴尬,当然了,也可以自己做一台专门的服务器来存储文件,但是毕竟阿里云相对成熟,还稳定,所以有钱还是用第三方存储能解决大部分的问题。

阅读全文 » 1257天前
2020年11月15日

ajax跨域:origin has been blocked by CORS policy Response to preflight request doesn't pass access control check

ajax跨域:origin has been blocked by CORS policy Response to preflight request doesn't pass access control check,CORS策略已阻止从原点' http//localhost62797 '访问' http://api.bigcommerce.com/stores/4jwabif3gj/v2/orders.json '处的XMLHttpRequest :对预检请求的响应未收到通过访问控制检查:飞行前请求不允许重定向。

阅读全文 » 1259天前
2020年11月14日

解决Unable to find the wrapper "https"的二种方法

​这个问题其实通php加载openssl模块来解决,是件挺容易的事,但是牵扯到用什么linux系统,以及是用多少位的linux系统,以及php自身的版本问题,以及是不是手动安装,还是管理工具安装时,其实有的时候,还是比较麻的。

阅读全文 » 1259天前
2020年11月13日

PHP mkdir函数创建目录失败

PHP 编程中,经常会遇到文件的上传,文件夹的创建等等。其中会用到一个非常重要的函数:mkdir;它的作用是创建一个目录,用来存放上传文件的文件夹。在上传过程中如果涉及多级目录的创建,经常会遇到错误,怎么如何处理呢??

阅读全文 » 1260天前
2020年11月13日

Group by 查询时的ONLY_FULL_GROUP_BY错误解决方案

mysql使用group_by的时候报错:Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #5 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'cis.q1.query_date' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by。

阅读全文 » 1260天前
2020年11月13日

mysql8.0.19中在navicat客户端中int、bigint等类型设置长度保存后为0

mysql8.0.19中在navicat客户端中int、bigint等类型设置长度保存后为0,今天在将开发库(mysql版本号:5.7.24)的表结构和正式库(mysql版本号:8.0.19)表结构做比对的时候,发现大量表中字段不一致,初以为是切换到正式库时执行SQL报错了,后,手工修改表字段长度还是不行。

阅读全文 » 1262天前
2020年11月11日

centos8重新安装MySQL,从高版本降到低版本后疯狂报错

centos8重新安装MySQL,从高版本降到低版本后疯狂报错。原来服务器centos8是默认yum install mysql的,mysql的版本是8.0.21,但是原始项目的数据库过度过去之后,数据库报错了,说是8.0.17版本之后int、tinyint类的字段长度被废弃不再显示了:mysql8.0 tinyint字段长度修改时无效,所以就想把mysql版本降到5.7.32版本,本来是先yum remove mysql,因为没有删除遗留的mysql文件、目录导致了安装5.7.32版本一直报错。

阅读全文 » 1262天前
2020年11月11日

解决You have new mail in /var/spool/mail/root提示

问题:终端远程登陆后经常提示You have new mail in /var/spool/mail/root;这个提示是LINUX会定时查看LINUX各种状态做汇总,每经过一段时间会把汇总的信息发送的root的邮箱里,以供有需之时查看。 一般这种情况mail的内容就只是一些正常的系统信息或者是比较重要的错误报告。如果你安装了mutt的话直接用这个命令就可以查看mail的内容(用root登陆先),没有装的话用cat /var/spool/mail/root查看(用root登陆先)。

阅读全文 » 1262天前
2020年11月11日

CentOS8 Nginx+PHP7.2+mysql8+redis+git的配置以及注意事项

CentOS8 Nginx+PHP7.2+mysql8的配置以及注意事项,CentOS8的配置相对Contos7比较简单。在以下讲解中会详细讲解到两个系统nginx、php、mysql8的安装和配置。目前nginx1.14、php7.2、mysql8都已经加入centos8官方源,使用和配置都简单很多。

阅读全文 » 1262天前
2020年11月11日

MySQL 批量修改数据表编码及字符集

经常使用SQLyog导出导入数据库时,不懂为什么经常性出现编码错误字符集被设置成了默认,奇怪的很,可能是软件版本问题,当需要修改数据库编码和字符集时,通常需要对其下属的所有表及表中所有字段进行修改。以下备注批量修改方案( 以修改为 utf8mb4_general_ci为例,注意将 db_name 换为真实的数据库名 )。

阅读全文 » 1262天前
2020年11月10日

PHP7.2 redis扩展的安装

PHP7.2 redis扩展的安装,一.下载php-redis包,解压:wget http://pecl.php.net/get/redis-4.0.2.tgz;tar -xzvf redis-4.0.2.tgzcd redis-4.0.2;二.通过phpize生成编译configure配置文件,编译&&安装;没有配置环境变量的话,必须使用 绝对地址 ,例子:/usr/php/phpize;phpize;指定php配置文件的位置;./configure --with-php-config=/usr/bin/php-config

阅读全文 » 1263天前
2020年11月10日

nginx 502 bad gateway 解决 connect() failed (111: Connection refused) while connecting to upstream

nginx 502 bad gateway 解决 connect() failed (111: Connection refused) while connecting to upstream,新安装了centos8,配置了php7.2,还没怎么用,一直报错,烦都烦死。多方求证最后才知道是php的配置是:fastcgi_pass 127.0.0.1:9000; 但是php-fpm/www.conf里配置的监听listen不是这个,所以就报错了。

阅读全文 » 1263天前
2020年11月10日

nginx 访问 .php文件变成下载

Nginx 浏览.php文件变成下载:这是因为nginx没有设置好碰到php文件时,要传递到后方的php解释器。看看你的nginx.conf配置,里面有没有这样的设置:location ~ .*\.php$ { fastcgi_pass 127.0.0.1:9000;}

阅读全文 » 1263天前
2020年11月09日

PHP短网址生成逻辑与实现

​微博短网址大家一定不陌生,如:http://t.cn/ 这个网站点开就直接跳转到了微博,是不是看起来很方便,但应该很多人都不知道是怎么实现的,我们今天就来讲讲PHP生成短网址的方法。PHP生成短网址的:如果把短网址还原了,你知道是个什么样子的吗?可能你看到的短网址都是这个样子:http://p-d-d.cn/T0f121,其实他还原了说不定就是这个样子:https://www.copylian.com/,按这个格式可以知道这个短网址其实是通过代码将长的网址:https://www.copylian.com/ 转成 http://p-d-d.cn/T0f121 ,然后短网址做个重定向到长网址就好了。

阅读全文 » 1267天前
2020年11月06日

TP5使用unlink删除文件报错:Resource temporarily unavailable

TP5使用unlink删除文件报错:Resource temporarily unavailable,今天在TP5内使用unlink删除上传图片的时候报错了。情况是 $info = $file->move();获得 $info 变量后 $info->getRealPath() 通过该方法获取上传文件真实路径,然后直接unlink时报错 Resource temporarily unavailable

阅读全文 » 1276天前
2020年10月28日

php判断当前是http还是https

php判断当前是http还是https,使用 $_SERVER['HTTPS'] 的值来判断,或者通过 $_SERVER['SERVER_PORT'] 的端口号443来判断是否是https,如果is_ssl()方法返回true则是https,如果返回false则是http。

阅读全文 » 1294天前
2020年10月10日

/var/mail/root 定时任务crontab生成日志文件太大的处理方案,You have new mail in /var/spool/mail/root

之前讲过聊过 file_put_contents(): Only 0 of 23634 bytes written, possibly out of free disk space,磁盘空间不足这个问题,解决方法是删除 /var/mail/ 下的root日志日志文件,可是过不了多久又满了,所以只能从源头去禁止生成定时任务生成的日志才能彻底的解决问题。有时候处理的时候还会出现:You have new mail in /var/spool/mail/root的报错。

阅读全文 » 1295天前
2020年10月09日

PHP创建PDF文档,相应的PHP类库有:TCPDF、mPDF、Dompdf等

PHP创建PDF文档,相应的PHP类库有:TCPDF、mPDF、Dompdf等,如果要使用PHP动态的创建PDF文档,目前有许多开源的PHP创建PDF的类库,今天介绍一款PDF库:TCPDF,TCPDF是一个用于快速生成PDF文件的PHP5函数包。TCPDF基于FPDF进行扩展和改进,增强了实用功能。

阅读全文 » 1305天前
2020年09月29日

PHPMailer实现PHP的邮件发送,附带附件

PHPMailer发送邮件,附带附件,phpMailer 是一个非常强大的 ph p发送邮件类,可以设定发送邮件地址、回复地址、邮件主题、html网页,上传附件,并且使用起来非常方便。

阅读全文 » 1311天前
2020年09月23日

vue.js前端获取thinkphp5.1后端api接口的验证码,验证码一直验证失败

最近需要做验证码接口,前端使用的vue.js接收,遇到如下问题:thinkphp5.1框架默认生成的验证码是session方式给到前端用户,验证码图片生成没有问题,出现问题是在验证验证码的步骤:每次验证都是显示验证码错误。测试了才知道api接口模式,访问不同接口的生成才session_id是不一样的,所以导致生成验证码与确认验证码的接口两个session_id不一致,那么解决问题的方式就是设置同一个session_id就可以了。

阅读全文 » 1315天前
2020年09月19日

file_put_contents(): Only 0 of 23634 bytes written, possibly out of free disk space,磁盘空间不足

访问网站系统报错:file_put_contents(): Only 0 of 23634 bytes written, possibly out of free disk space。意思就是磁盘空间不足,df -lh 查了一下,确实是发现磁盘满了,想想应该是日志文件太大了,所以删除项目的runtime下的文件释放空间就可以了。

阅读全文 » 1315天前
2020年09月19日

POST参数超过1000后,$_POST中1000以后的参数丢失,但是php5.6 max_input_vars 修改无反应?

之前做了图片文件上传到阿里云oss存储中,阿里本身的传输没有问题,但是在当保存到自己数据库的时候就报错了,第一次报错是id不存在,本来数据表就是一条记录,更新的主键ID竟然不存在,查了下js传过过来的formdata参数正常,但是$_POST就只仅仅取到了一部分数据,剩余的数据丢失了,想想应该是php限制的问题,最终确定是参数: max_input_vars 默认限制了1000,本来是改成了5000,但是测了还是没效果,查了phpinfo()发现:php-fpm重启之后 max_input_vars 的值并没有改变,多方查证发现服务器的php配置原来是外包公司配置的,外包公司把配置文件改到了 php-fpm.conf 文件里面,所以原始的php.ini中的参数就失效了,无论设置成什么都会失效。

阅读全文 » 1319天前
2020年09月14日

网站防刷,防止羊毛党:顶象、数美数据接口配置

最近做了很多的微信活动,特别是答题发红包活动,除了并发量需要处理之外,还有一个很重要的点就是网站防刷、防止羊毛党刷接口,因为微信上羊毛党养了很多的机器微信号,活动如果在只有微信授权的情况下,无法做到完全的限制,即使通过ip来限制也没办法完全限制,因为羊毛党还可以通过模拟定位、模拟ip来访问,只要是正常的微信号还是可以突破防线的,那这时候第三方防刷也是有点必要的。

阅读全文 » 1326天前
2020年09月08日

PHP SDK上传文件到阿里云oss文件存储Bucket

对象存储服务(Object Storage Service,OSS)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。最近业务需求做了PHP SDK上传文件到阿里云oss文件存储Bucket的相关工作。

阅读全文 » 1331天前
2020年09月03日

微信开放平台中第三方平台api接口的对接与实现

微信开放平台中第三方平台api接口的对接与实现,最近为了做微信开放平台的第三方平台也是花费了两周多的时间,中间碰到各种坑,以前如果要帮助第三方公众号做开放,也是直接把第三方的开发信息改成自己服务器的,但是这样不方便,不同服务商每做一个活动都要重新改一次,所以只能使用公众号授权第三方平台来实现这样的功能了。

阅读全文 » 1337天前
2020年08月28日

微信开放平台中第三方平台账号申请与配置

之前做微信的开发都是公司自己一个公众号获取用户信息、获取授权等操作,但是为了使用其他公众号来做这时候就必须开通微信的第三方平台,最近正好在做微信开放平台中的第三方平台,在申请的过程中也踩了不少的坑。

阅读全文 » 1339天前
2020年08月26日

微信第三方平台全网发布返回Api、普通文本信息失败解决方案

这几天在做微信开放平台的第三方平台对接工作,本来申请的时候就云里雾里的,测试了好几个号才正式的把一些配置弄好,等待程序开发完成之后需要配置授权测试的公众号进行全网发布,当提交发布时,提示等待5分钟后,报错的结果就是返回Api、普通文本信息失败,这时候看下文档才知道,全网发布是需要验证的。

阅读全文 » 1339天前
2020年08月26日

PHP WSG84转BD09 地理坐标系互转

最近使用了微信公众号的地理定位服务,获取得到的纬度与经度用来转换成功详细地址信息,腾讯使用的地图地位坐标系是WSG84,如果获取地理位置信息使用的是腾讯地图服务的话就不需要转换,如果使用的是百度或者其他精度的坐标系,则需要进行转换。

阅读全文 » 1347天前
2020年08月18日

获取微信js-sdk网页授权的地理位置

获取微信js-sdk网页授权的地理位置,通过微信浏览器打开页面时,有时会提示要获取地理位置信息,点击同意后,自己的地理位置信息就会相应的显示在页面,同时通过数据库的查询,以实现以地理位置分类的逻辑业务。

阅读全文 » 1347天前
2020年08月17日

wxApi jsApiList 接口列表

wxApi jsApiList 接口列表

阅读全文 » 1348天前
2020年08月17日

百度地图API报{"status":240,"message":"APP 服务被禁用"},APP服务被禁用

使用百度地图API进行逆地理编码时发现将新建的服务端AK填入到URL中进行访问时返回{“status”:240,“message”:“APP 服务被禁用”};百度给出的结论是自己创建AK时的设置有问题,实际检查设置没有问题;后来发现是新的用户接口更改了了。

阅读全文 » 1348天前
2020年08月17日

php解析ip地址的免费纯真IP数据库

之前使用的tp3的UTFWry.dat作为ip解析,但是感觉这个类有点旧,还比较难用,数据不多,如果需要其他信息还需要重新修改IpLocation.php类,淘宝腾讯提供的免费第三方获取ip的方式不太稳定,所以找了找还是基于qqwry.dat的ip库相对合适。

阅读全文 » 1348天前
2020年08月16日

“微信群控”:虚假养号、色情变现、薅羊毛,微信黑产全揭露!外挂、群控养号

群控”系统是指,通过系统自动化控制集成技术,把多个手机操作界面直接映射到电脑显示器,实现由一台电脑来控制几十台甚至上百台手机的效果。群控系统对中控电脑上每个手机的操作界面进行编号,对应相同编号的手机,从而实现一对一的手机操作控制。

阅读全文 » 1349天前
2020年08月16日

think\cache\Driver::unserialize()经常报Error at offset... bytes这样的错误

think\cache\Driver::unserialize()经常报Error at offset... bytes这样的错误,这几天做了抢红包的活动,请求高并发之后,程序出现了报错,数据无法写入数据库,查询调试发现报的错误是:unserialize(): Error at offset 284217 of 284296 bytes,后来是清除了缓存才解决了问题,可是问题是总不能一直清除缓存吧!!!

阅读全文 » 1350天前
2020年08月15日

PHP实现微信支付的现金红包、企业付款到零钱功能

企业付款提供由商户直接付钱至用户微信零钱的能力,支持平台操作及接口调用两种方式。具有免费、快速到账、灵活、安全等优点。商户可以使用企业付款,用于如:费用报销、员工福利、用户奖励等。微信红包,2014年春节一推出即受到广大用户好评,引发全民抢红包热潮。现将微信红包打造成“现金红包”,作为一款定向资金发放的营销工具,供商户使用。用户在客户端领取到红包之后,所得金额进入微信钱包,可用于转账、支付或提取到银行卡。

阅读全文 » 1358天前
2020年08月07日

ES6的promise的介绍

1.Promise:即异步通信编程的一种解决方案,它比传统回调式更加的强大;2.ES6 之前非常多层次嵌套的同步、异步,执行顺序混乱且不好维护;3. Promise 就很好的解决了这些问题,我们先了解一下它的语法:

阅读全文 » 1423天前
2020年06月03日

表单提交之后数组类型的数据第二次提交被覆盖,使用 Math.random() 解决

表单提交之后数组类型的数据第二次提交被覆盖,使用 Math.random() 解决,最近做表单提交,需要直接提交数组就是用表单的数组形式,servicetype[type][] 复数形式,但是表单在提交之后报错,返回里层的被加了key值,这个时候有的就被覆盖无法显示提交了。这时候需要,重新生成key值保证数组key的唯一性。

阅读全文 » 1444天前
2020年05月13日

转:PHP phpspreadsheet 导出大数据 csv excel

最近项目一直需要导出数据到Excel里,使用了phpspreadsheet导出Excel,但是数据量一大的话就卡住了,正常导出大概不到1w条吧,超过1w条NGINX可能就报502超时了,为了解决问题只能百度看看了。

阅读全文 » 1448天前
2020年05月08日

阿里云 Composer 全量镜像

阿里云 Composer 全量镜像,阿里云正式上线PHP Composer全量镜像,所有PHP开发者都可以通过我们的开发者社区developer.aliyun.com/composer加速Composer安装器。这款镜像工具的最大优势是快,几乎实现与PHP Packagist官方实时同步,每隔30秒刷新全国CDN缓存。它基于阿里云的对象存储OSS和CDN研发同步系统,通过任务分发,实现同步的快速和稳定。

阅读全文 » 1449天前
2020年05月07日