laravel中设置数据库读写分离后强制使用主库查询

phpmianshi2周前 (07-27)PHP22
背景在项目比较火爆,QPS比较高时,可以设置读写分离来扩容数据库,减少数据库的压力,但是有些业务可能对数据一致性要求比较高,比如支付。当支付成功时,再去查询订单状态时,如果查询走的从库,如果出现主从延...

记一次tp3.2.3因fetch导致的漏洞处理过程

phpmianshi2个月前 (06-04)PHP380
记一次tp3.2.3因fetch导致的漏洞处理过程
问题描述:最近发现百度收录大幅度下降,并出现大量5xx错误,有些收录页面直接跳转到其他网站,如下图:问题追查1.根据以往经验首先怀疑网站被植入或者挂马      &nbs...

tp5.0.x 5.1.x 最新getshell漏洞

phpmianshi2年前 (2018-12-10)PHP125
概况近日thinkphp团队发布了版本更新:https://blog.thinkphp.cn/869075 ,其中修复了一处getshell漏洞。影响范围5.1.x < 5.1.315.0.x&...

PHP程序员解决问题能力的六个级别

phpmianshi2年前 (2018-06-14)PHP110
青铜  var_dump/die打印变量值信息单步调试是最简单粗暴有效的解决问题方法。高级一点的是使用打印日志。白银 会设置各种错误日志的记录和显示,并根据各种错误日志分析错误或者搜索别人的...

PHP7 数组的底层实现

phpmianshi2年前 (2018-06-13)PHP153
PHP7 数组的底层实现
PHP 数组具有的特性PHP 的数组是一种非常强大灵活的数据类型,在讲它的底层实现之前,先看一下 PHP 的数组都具有哪些特性。可以使用数字或字符串作为数组健值$arr = [1&...

PHP数组的有序性

phpmianshi2年前 (2018-06-12)PHP886
在 PHP7中,我们往数组中插入元素的顺序,就决定了我们数组遍历元素的顺序。可以说,PHP7中的数组是有序的。这个有序就是指元素插入数组时的顺序,与遍历时顺序的一致性。为了实现插入与遍历的顺序一致性,...

php5数组与php7数组区别

phpmianshi2年前 (2018-06-11)PHP103
php5数组与php7数组区别
PHP5数组结构体typedef struct _hashtable {       uint n...

PHP7的垃圾回收机制

phpmianshi2年前 (2018-06-10)PHP87
PHP7的垃圾回收机制
垃圾回收机制垃圾回收机制是一种动态存储分配方案。它会自动释放程序不再需要的已分配的内存块。 自动回收内存的过程叫垃圾收集。垃圾回收机制可以让程序员不必过分关心程序内存分配,从而将更多的精力投入到业务逻...

PHP7内存优化原理(八)

phpmianshi2年前 (2018-06-09)PHP284
PHP7内存优化原理(八)
这里面其中的一些主要改变是性能提高的关键,主要有以下内容。1.zval使用栈内存在zend引擎和扩展中,经常要创建php变量,其底层就是一个zval指针,之前的php版本都是通过MAKE_STD_ZV...

PHP内核分析之深入理解字符串(七)

phpmianshi2年前 (2018-06-08)PHP105
一、字符串的结构struct _zend_string {     zend_refcounted_h gc; &nb...

PHP内核分析之常见变量基本结构(六)

phpmianshi2年前 (2018-06-07)PHP112
一、类型一览zval中的u1.v.type用来存储变量的类型,而zval.value存储的是不同类型对应的值,所以type决定value取值的地方,以下是PHP7所定义的所有类型。#define&nb...

PHP内核分析之变量zval在php5和php7中的区别(五)

phpmianshi2年前 (2018-06-06)PHP109
一、PHP7中的zval使用栈内存在 PHP7 中 zval 有了新的实现方式。最基础的变化就是 zval 需要的内存不再是单独从堆上分配,不再自己存储引用计数。复杂数据类型(比如字符串、数组和对象)...

PHP内核分析之生命周期五个阶段(四)

phpmianshi2年前 (2018-05-05)PHP97
一、模块初始化阶段我们先来看一下该阶段的每个函数的作用。1.1、sapi_initialize_request_empty函数// main/SAPI.c SAPI_API vo...

PHP内核分析之生命周期(三)

phpmianshi2年前 (2018-04-22)PHP822
一、概览PHP生命周期有五个阶段,分别为模块初始化阶段、请求初始化阶段、执行阶段、请求关闭阶段、模块关闭阶段。只是不同SAPI模式下,请求的情况略有不同,比如FastCGI下只经历了一次模块初始化阶段...

PHP内核分析之源码目录结构 (二)

phpmianshi2年前 (2018-04-05)PHP744
一、目录概览以php-7.4.1为例,目录多达十多个,下面介绍主要目录。├── build   linux下编译相关的目录├── ext      P...

PHP内核分析之GDB使用(一)

phpmianshi2年前 (2018-04-02)PHP1602
1.PHP源码下载和安装https://github.com/php/php-src/releases$ ./configure --prefix=/usr/local/php7&...

Windows下nginx+fastcgi+php的并发阻塞问题

phpmianshi3年前 (2017-06-03)PHP79
同事接到一个需求,需要调用同一个项目的另一个接口,于是CURL调用接口。代码撸完了,本地测试一下 浏览器一直转圈圈直到超时…… 百思不得其解主要是windows+nginx开发环境遇到的问题,本人很少...

php闭包的优缺点

phpmianshi3年前 (2017-06-02)PHP77
闭包函数:临时创建一个没有名称的函数,经常作为回调函数来用。通俗的说就是:子函数可以使用父函数中的局部变量,这种行为叫做闭包。我的理解是: 闭包就是能够读取其他函数内部变量的函数。匿名函数赋...

PHP红包分配算法

phpmianshi3年前 (2017-06-01)PHP828
<?php /**  * User: phpmianshi.com   * Date: 2020/3/31 &nbs...

理解PHP中的Generator

phpmianshi3年前 (2017-04-06)PHP99
PHP中Generator,似乎是在5.5版中引入了。PHP中的协程必须依赖于Generator来实现,所以我觉得有必要先专门写一篇文章介绍Generator。Generator这个单词在这里对应的中...