
php
php
ouxiaoxian
努力努力在努力..........................
展开
-
封装 调用第三方链接接口
/ 设置POST字段。// 设置为POST请求。// 初始化cURL会话。// 设置cURL选项。// 关闭cURL会话。原创 2025-01-22 10:22:20 · 281 阅读 · 0 评论 -
ab 压力测试 nginx
ab 压力测试 nginxab -n 1000 -c 100 http://www.baidu.com/-n 总的请求数-c 并发数-k 是否开启长连接-n 1000 总请求数1000-c 100 单个时刻并发数100原创 2022-05-17 09:16:22 · 450 阅读 · 0 评论 -
高并发 -- 字段加索引
在数据出现高并发情况一般几种解决方式(以及一些 需要注意的地方):1.缓存技术2.要给表添加适当的索引3.要创建适当的存储过程,函数,触发器等4.读写分离(主从服务器)5.分表技术(垂直分割和水平分割)6.升级mysql服务器7.优化sql语句8.负载均衡9.镜像等等一些方法。表添加适当的索引方法:找到数据库-》找到表名-》右键设计表-》点击索引-》栏位(添加需要 加索引的字段)加索引之后的 ab接口压力测试数据:原数据加索引之...原创 2022-05-16 17:22:11 · 331 阅读 · 0 评论 -
canvas里 阿里云服务器oss图片跨域处理
图片img标签默认是可以跨域的,但是canvas中不允许跨域,所以在使用html2canvas.js将html代码转图片时,html中如果存在跨域图片就会报错。需要后台在阿里云上配置图片允许跨域。前端在跨域的img标签上加上 crossOrigin="anonymous"属性,允许图片跨域1.阿里云上配置图片允许跨域oss跨域 找到阿里云服务器 oss--权限管理--跨域设置点击创建规则配置参数Etagx-oss-request-id...原创 2022-01-11 11:37:15 · 2795 阅读 · 1 评论 -
Laravel框架 微信授权登陆 代码封装
微信登陆 laravel封装微信登陆原创 2021-12-30 11:00:31 · 660 阅读 · 0 评论 -
微信公众平台和微信开放平台的区别
最近有朋友问我,微信开放平台和公众平台的区别,刚开始我写微信的公众平台 和开放平台也有点懵,经常弄混,简单总结下2者区别:微信公众平台是给编辑的,微信开放平台是给技术的。微信公众平台的作用:写文章发文章 和粉丝聊天 配置菜单 开通各种公众号的权限(仅限自己的公众号) 启用开发者模式,开发自己的公众号 投放广告 注册小程序第三方平台(提供小程序模板) 查看数据微信开放平台的作用:APP想用微信登录/分享到朋友圈等 PC网站想用微信登录等 注册公众号第三方平台(服务所有公众号原创 2021-10-29 15:41:17 · 8268 阅读 · 0 评论 -
Laravel 调用不同服务器另一个项目的 接口 使用GuzzleHttp
使用GuzzleHttp调用第三方服务的API接口Guzzle中文文档链接地址:Guzzle, PHP HTTP 客户端 — Guzzle中文文档composer安装guzzle的依赖(文档中有详细)在composer.json文件的“require”项中加入"guzzlehttp/guzzle": "^6.3",然后命令行执行composer install// 减掉助力人数 (1111抽奖活动接口)public function remove_luck_num($.原创 2021-10-28 10:47:02 · 457 阅读 · 0 评论 -
Nginx默认日志文件路径,Nginx重启命令,检查Nginx
Nginx日志的默认路径/var/log/nginx/重启nginxservice nginx restart检查文件是否有问题nginx -t配置文件生效nginx -s reload原创 2021-10-14 15:45:48 · 3767 阅读 · 0 评论 -
laravel groupBy()分组查询之后 进行排序处理
$re=WechatChat::with(['userInfo'=>function($query){ $query->select('openid', 'nickname','headimgurl');}])->where($where)->where('read',1)->select('openid','id',DB::raw('max(add_time) as add_time'))->orderBy('id','desc')->groupB.原创 2021-09-09 16:23:45 · 1361 阅读 · 0 评论 -
利用用户的id生成不同的二维码
1.下载phpqrcode类库2.准备一张背景图片3./** * 生成二维码 * @author 茹军伟 */private function go_ercode($Parame){ $uid =$Parame['uid'];//获取的用户id Vendor('phpqrcode.phpqrcode');//包含类库 $url ='http://w...原创 2018-07-07 18:19:19 · 4708 阅读 · 0 评论 -
cgi/fastcgi停止工作
本地 php版本切换7.2报错遇到问题:本地安装个laravel 6 需要PHP版本大于7.2,切换版本到7.2,报错上面。切换7.0,laravel报PHP版本太低原因分析:我的phpstudy版本是2018的。PHP版本大于7.0的话必须要vc14运行库。解决方法:安装vc14运行库下载:https://download.youkuaiyun.com/download/ouxiaoxian/14926228...原创 2021-01-23 15:40:37 · 2708 阅读 · 2 评论 -
laravel 日志无权限写入报错(服务器生成日志无权限)
原因分析是:其他角色写入日志导致权限不可写例如:定时器执行任务的用户不是项目组用户等日志文件的权限也可以在每天创建时配置在config/logging.php中加入'permission' => 0777, // 此项配置你需要的文件权限...原创 2020-12-19 10:16:15 · 1898 阅读 · 2 评论 -
PHP图片与文字合成
public function coupon_image($coupon) { $userName = $coupon['username'];//合成的文字 $path = public_path();//这里我的查找路径方法,你用你自己的即可 ob_clean(); $types = array(1 => "gif", 2 => "jpeg", 3 => "png");//图片类型 $bj...原创 2020-09-14 16:45:58 · 1565 阅读 · 1 评论 -
emoji表情存表
第一种修改数据库编码类型为什么我们设置表的的字符类型为utf8却不能存放emoji呢?原来utf8可能是2或3或4个字节,而mysql的utf8是3个字节,存放一个emoji是需要4个字节的,自然不够。Mysql数据库在5.5.3之后开始支持utf8mb4字符集,所以mysql版本是5.5.3+的都可以设置让数据库存储Emoji表情,如果你的应用有移动端的,最好一开始设计数据库的时候就使用utf8mb4字符集第二种转义emoji表情(存表的时候进行转义,取数据的时候进行反转义)//对.原创 2020-08-31 14:22:38 · 352 阅读 · 0 评论 -
常用数组排序 根据数组的某个属性值 进行排序
做个查询显示,想根据num进行排序结果实现方法2个数组完成排序$re['data']是查询返回结果$cmf_arr = array_column($re['data'], 'num');array_multisort($cmf_arr, SORT_DESC, $re['data']);array_column介绍array_multisort介绍...原创 2020-08-28 15:29:58 · 984 阅读 · 0 评论 -
PHP提升性能 opcache
1、找到opcache的扩展,我的是php7.1yum list php71*2、安装扩展yum install php71w-opcache.x86_64测试结果提升了一倍左右原创 2020-08-22 10:50:05 · 365 阅读 · 1 评论 -
游戏功能上线 购买 ssl域名证书后 HTTPS的WebSocket不能连接的问题
首先附上官网链接(万变不离其宗,每个人的代码不同,可能有1000种写法,找到适合自己项目的方法。一切的源头来自官方文档)-------http://doc3.workerman.net/3152971.首先前端代码由ws访问改成 wss ----------------var socket = new WebSocket("wss://域名地址/wss");2.nginx配置首先你的证书要自己配好,nginx的基本配置也要搞好,在原有的已配置完成的基础上在nginx文件中的server{ ..原创 2020-08-14 16:37:11 · 483 阅读 · 0 评论 -
PHP跨域处理 图片跨域 接口跨域 后端nginx的cors设置
图片跨域报错:解决方法:add_header Access-Control-Allow-Origin *;add_header Access-Control-Allow-Headers X-Requested-With;add_header Access-Control-Allow-Methods GET,POST,OPTIONS;*****将上面的3行代码放入服务器nginx配置文件中*****一开始我直接将3行代码放入server下面不行还是报错,报另外一种错误后来在想想原创 2020-07-13 16:15:19 · 1154 阅读 · 0 评论 -
简单实用 微信授权登陆(网页版)
private $APP_ID = 'wx7b2a3-----------' ; //APP_ID private $APP_SECRET = '3dcaf80d6adf6-----------------'; //$APP_SECRET //获取Access Token private function getAccessToken($code){ $ACCESS_TOKEN = file_get_contents('https://api.wei...原创 2020-07-06 16:58:25 · 1831 阅读 · 0 评论 -
服务器突然报错 502 Bad Gateway
报错信息:服务器不能用,所有接口报错502。网上查了下,502报错种类有很多1.fastcgi缓冲区设置过小2.代理缓冲区设置过小3.默认php-cgi的进程数设置过少4.php执行超时5.nginx等待时间超时自己在排查的时候,看到nginx日志里面说,我的一个轮询请求报错,突然想到是不是PHP进程满了导致的。解决方法:然后重启PHP,发现可以了(一般出现这种情况,就是后端响应时间较长导致的。请求次数较多,数据库链接失败或者链接时间较长,都会导致这种问题出现)...原创 2020-06-18 10:11:40 · 3932 阅读 · 0 评论 -
阿里云服务器linux系统上安装git版本控制系统
Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。而国外的GitHub和国内的Coding都是项目的托管平台。而使用git的第一步就是安装一个git,下面就简单讲述一下在 Linux 系统上如何安装一个git 1、安装git依赖包 Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具。 yum install curl-devel expat-devel gettex.原创 2020-05-21 15:24:52 · 335 阅读 · 0 评论 -
laravel 常用语句的返回值
先理解几个概念:StdClass 对象 => 基础的对象Eloquent 模型对象(Model 对象) => 和模型相关的类对象Eloquent 集合 => 可以简单理解为对象数组,里面的每一个元素都是一个Model 对象DB Facades1, $users = DB::table('users')->get(); 返回值:数组结果,其中每一个结果都是 StdClass2, $user = DB::table('users')->first(); 返回值:单原创 2020-05-14 10:54:08 · 1476 阅读 · 0 评论 -
laravel中的 Hash::make与Hash::check做登陆验证和密码加密
1.使用前先引用use Illuminate\Support\Facades\Hash;2.加密$pwd = Hash::make($request->newPassword); //加密存储3.匹配if (Hash::check('qwe123456', $pwd)) {// 密码匹配...}举例代码://手机邮箱登录public fu...原创 2020-03-06 19:11:11 · 5133 阅读 · 1 评论 -
Git 忽略提交 .gitignore
在使用Git的过程中,我们喜欢有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交。简单来说一个场景:在你使用git add .的时候,遇到了把你不想提交的文件也添加到了缓存中去的情况,比如项目的本地配置信息,如果你上传到Git中去其他人pull下来的时候就会和他本地的配置有冲突,所以这样的个性化配置文件我们一般不把它推送到git服务器中...原创 2020-01-19 14:34:32 · 335 阅读 · 0 评论 -
做一个完整网站的流程(独立完成个人网站)
注:我写这个博客的目的只是为了分享我自己做网站的流程,不是教大家一行一行敲代码的,如果是想学语言的基本操作,只能自己去找视频学习了1.购买服务器(根据自己的需求以及爱好购买,我用的是阿里云)注:一般国内服务器都是需要备案的,国外的是不需要的,根据自己的需求来买,备案的话是要花费一定的时间的,大概20天左右吧!但是总体也不是很麻烦(阿里有个学生价的服务器,如果自己想做一个自己的网站,可以考虑...原创 2020-01-06 16:30:56 · 77926 阅读 · 10 评论 -
公众号微信分享使用js-sdk走过的坑 错误类型:invalid url domain
问题描述:做公众号的微信分享功能要进行签名认证,后台处理只需要传sha1加密的签名(生成签名代码,已经封装好,可以查看链家https://blog.youkuaiyun.com/ouxiaoxian/article/details/103859057),随机字符,时间,url再和前台对接的时候一直报错:invalid url domain在网上查找了很多资料,有说端口的问题,也有其它各种原因的,一...原创 2020-01-06 16:26:58 · 443 阅读 · 0 评论 -
laravel框架中 公众号js-sdk后台生成签名的方法(封装好的方法)
class WechatShareController extends CommonController{ public $appid = "***********************"; public $secret = "***************************"; protected $app; public function in...原创 2020-01-06 16:09:36 · 622 阅读 · 0 评论 -
公众号测试账号报错微信配置失败
公众号测试账号报错微信配置失败,把下面代码复制到你配置的访问方法里面 $echoStr = $_GET["echostr"]; return $echoStr; exit;...原创 2019-12-28 16:48:27 · 575 阅读 · 0 评论 -
微信公众号的Emoji表情过滤
1.获取微信信息的时候有的用户只有表情,存入数据库的时候有可能报错,2种处理方法一》第一种function removeEmoji($nickname) { $clean_text = ""; // Match Emoticons $regexEmoticons = '/[\x{1F600}-\x{1F64F}]/u'; $clean_text = ...原创 2019-12-28 16:43:54 · 323 阅读 · 0 评论 -
Git 分支切换 暂时保存到现在的分支(不进行add),切换到其他分支改东西
问题描述:最近在写代码,写新功能单独分支dev,突然项目需要改动,切到正常分支master上修改1.及时commit代码在new分支上把已经开发完成的部分代码commit掉,不push,然后切换到old分支修改代码,做完了commit,所有分支互不影响,这是一个理想的方法。2.使用git stash有时候写了一半的代码,都还不能编译通过的,就被叫去改另一个分支的bug了。在d...原创 2019-11-29 16:13:27 · 1666 阅读 · 0 评论 -
laravel框架 pc网站 原生代码获取微信信息 实现微信登陆
有时候pc的网站需要写个微信登陆,不需要引入微信的任何东西,直接原生获取到微信的登陆信息,进行微信登陆(appid和秘钥换成自己的)class WxLoginController extends CommonController{ private $APP_ID = '&&&&&&&&&&&&...原创 2019-11-27 14:23:13 · 338 阅读 · 0 评论 -
PHP版本问题 cmd的PHP -v版本和PHPinfo的版本不同
问题描述:用composer安装一个依赖包,但是一直报内存不足的错误,一开始以为是PHP.ini里面的“”memory_limit=24M”设置太小的问题,然后我就设置成1024,但是还是不行,我查资料发现有可能是PHP版本的问题,但是我本地的phpstudy和laravel框架的composer.json显示的版本都是PHP7.1,我打开cmd输出命令PHP -v 发现版本是PHP7.0,版本...原创 2019-11-22 15:18:42 · 1301 阅读 · 0 评论 -
入坑---composer install和composer update区别
1、composer是php的依赖包管理工具2、符合PSR-0/1/2/3/4 规范3、composer安装推荐使用国内镜像4、composer require/install/update 区别:然而,对于如何『安装他们』,新手可能并不清楚。网上的答案有的说 composer install,有的说composer update,而这两者似乎都能成功把依赖下载下来并安装好,那么他...原创 2019-11-21 14:59:43 · 461 阅读 · 0 评论 -
git 简单的入门使用方法
有master主分支和dev分支,2个分支本地(上传到dev分支)git branchgit checkout devgit add .git commit -m 'oxx'git pull origin devgit push origin dev进服务器是dev分支git pull origin devgit push origin devgit branch(查看...原创 2019-11-19 16:04:29 · 216 阅读 · 0 评论 -
国内时间,国外时间与UTC时间获取与区别
原因:公司项目有个支付需要UTC时间,平常用的好好的,突然不能支付了 ,排查原因发现是加拿大一年有2个时间,分夏令时和冬令时,相差1小时(服务器是加拿大时间)平常的话是直接拿服务器时间戳加相差的时间,但是加拿大的时间戳会改变,下面方法直接获取UTC时间$timestamp = date_create('',timezone_open("UTC"));$timestamp = date_...原创 2019-11-05 15:18:37 · 1537 阅读 · 0 评论 -
http状态值返回301 302 以及(302状态值和网络劫持的关系)
一.简单介绍(1).301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于:301 redirect: 301 代表永久性转移(Permanently Moved)。302 redirect: 302 代表暂时性转移(Temporarily Moved )。(2).301,302对用户来说没有区别,他们看到效果只是一个跳转,浏览器中旧的URL变成...原创 2019-04-17 13:26:30 · 6539 阅读 · 0 评论 -
header('Access-Control-Allow-Origin:*')(什么是跨域?如何解决跨域)
1.什么是跨域跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。所谓同源是指,域名,协议,端口均相同,不明白没关系,举个例子:http://www.123.com/index.html 调用 http://www.123.com/server.php (非跨域)http://www.123.com/index.html 调用 http:...原创 2019-04-16 14:02:48 · 21439 阅读 · 0 评论 -
php redis windows安装 (phpstudy的redis的扩展以及redis测试)
一.php redis的扩展安装注:我的php版本是php7.0.12的,Architecture是x861.首先查看你自己的环境和php版本,按照规定下载对应的redis安装包找到你的phpinfo,查看你的对应信息我的环境2.这边简单的介绍一下redis的nts和ts的区别nts:非线程安全 ts:线程安全线程安全是指,多线程环境下也不会出现数据不一样的现...原创 2019-03-29 14:13:57 · 1219 阅读 · 0 评论 -
TP框架的商品秒杀(redis缓存队列)
详情访问个人网站:http://www.ouxiaoxian.top/?p=115流程:1.访问产品前先将当前产品库存队列(点击商品的时候,要将商品存入redis中)2.处理当前会员是否进入队列(下单时候判断会员是否在redis队列中)注:我做的是商品直播的时候秒杀,如果做整点秒杀,将下面的时间的start_time,end_time改成固定时间 // 将r...原创 2019-03-14 14:27:27 · 2248 阅读 · 0 评论 -
快递鸟物流接口的调用
1.快递鸟物流接口相当简单2.先按照官方要求注册一个人认证账号,申请所需要的技术服务3.找到对应的api技术文档,拉倒最下面有个demo下载,下载对应的文件4.复制里面的php代码,将其改成自己项目所需要的模式事例:接即时查询的api /** * 物流信息详情(快递鸟) * wang * 2019/2/21 */ publ...原创 2019-02-28 14:02:40 · 1103 阅读 · 0 评论