Gitlab 安装与配置

phpmianshi3周前 (07-14)运维55
Gitlab 安装使用 docker-compose 安装 Gitlab,traefik 反向代理 Gitlab,并开启 https编辑 docker-compose.yaml 文件$ mk...

SonarQube的安装、配置与使用

phpmianshi3周前 (07-13)运维56
SonarQube的安装、配置与使用
sonarqube 是一个代码质量管理平台,可通过安装不同的插件集成测试工具、代码质量分析工具、持续集成等多种功能。sonarqube 目前最新版为 8.0,最新稳定版本为 7.9,由于性能原因,so...

php中如何合并多个pdf并压缩

phpmianshi4周前 (07-09)php61
背景市面上常见的pdf处理软件,大部分都是收费的,经常功能不全,有时我们需要合并多个pdf文件,有时甚至还需要压缩一下大小,我怎么能用PHP做到这一点呢?解决方案(一)利用linux命令gs、pdf2...

a标签跨域下载文件,解决download失效问题

phpmianshi1个月前 (07-02)php55
背景a标签中download属性可以更改下载文件的文件名。但是如果是跨域的话,download属性就会失效。解决方案一<a onclick="downloadFile(...

为什么会有OPTIONS请求

phpmianshi2个月前 (06-15)php87
背景在做项目时,很多时候发送一个post请求,是先发送一个option请求,然后再发送post请求,今天我们分析下为什么会多一次请求。疑问1:什么是options请求OPTIONS请求方法的主要用途有...

php项目中从MYSQL更新到MYSQLI

phpmianshi3个月前 (05-07)php262
背景因为MYSQL已被弃用,原有一些老的项目大量用到原生mysql_xxx相关的函数,不能预处理和参数绑定,很多拼接的sql有注入风险,如何升级到mysqli或pdo呢因为mysqli是mysql的增...

php中连接mysql的三种方式和预处理下的sql注入

phpmianshi3个月前 (05-06)php232
php中连接mysql的三种方式和预处理下的sql注入
基础一条 SQL 在 DB 接收到最终执行完毕返回,大致的过程如下:  1. 词法和语义解析;  2. 优化 SQL 语句,制定执行计划;  3. 执行并返回结果;即时 SQL$sql =&...

php中Memcache::get(): Server...failed with: Failed reading line from stream

phpmianshi3个月前 (04-29)php133
背景最近sentry报告PHP的memcache客户端php-memcache经常出 现断连接的问题:PHP Notice:  Memcache::get(): Server ………. (t...

php中opcache注意事项以及调优

phpmianshi4个月前 (04-20)php265
背景从 PHP5.5 开始,Opcache 扩展是核心的一部分,增加了对 PHP 脚本的字节码缓存的支持。对于动态语言(例如 PHP ),字节码缓存可以显著的提高性能,因为它可以确保脚本仅被编译一次。...

php中Warning: Declaration of … should be compatible with …

phpmianshi4个月前 (04-14)php191
背景今天sentry收到报警:Declaration of (类方法1) should be compatible with (类方法2); 详情如下:Declaration of ...

php中preg_match_all只能匹配100000字节的限制

phpmianshi5个月前 (03-11)php300
背景用preg_match_all匹配时,偶尔会匹配失败,只能匹配到一部分符合的数据,代码如下://获取html文本中的a标签,然后获取 标签 <>之间的内容 fun...

php中function_exists的一个坑

phpmianshi5个月前 (02-22)php398
背景php有一个检查函数是否存在的函数function_exists,有时我们需要用到它,防止函数重复定义示例先看一段代码,代码可以正常执行test();function test(){  ...

php中autoload机制详解

phpmianshi6个月前 (02-10)php275
背景PHP在魔术函数__autoload()方法出现以前,如果你要在一个程序文件中实例化100个对象,那么你必须用include或者require包含进来100个类文件,或者你把这100个类定义在同一...

通俗易懂解释IP段192.168.1.0/24和192.168.0.0/16

phpmianshi6个月前 (02-05)运维127
192.168.1.0/24 包含哪些IPIP地址格式采用“斜线记法”,即:IP地址/网络前缀。例如 192.168.1.0/24 表示32位的二进制地址中(任何IP的二进制地址都...

jsonp安全攻防技术(JSON劫持、XSS漏洞)

phpmianshi6个月前 (02-04)运维190
关于 JSONPJSONP 全称是 JSON with Padding ,是基于 JSON 格式的为解决跨域请求资源而产生的解决方案。他实现的基本原理是利用了 HTML 里 <script&...

linux中sudo提权漏洞复现及修复-CVE-2021-3156

phpmianshi6个月前 (02-03)运维447
1.背景sudo被披露存在一个基于堆的缓冲区溢出漏洞(CVE-2021-3156,该漏洞被命名为“Baron Samedit”),可导致本地权限提升。当在类Unix的操作系统上执行命令时,非root用...

linux中三种风格Unix、BSD、GNU的ps的参数说明

phpmianshi6个月前 (01-29)运维287
背景Linux系统中使用GNUps命令支持3种不同类型的命令行参数:Unix风格的参数,前面加单破折线;BSD风格的参数,前面不加破折线;GNU风格的长参数,前面加双破折线。Unix风格参数ps [-...

HTTP状态码302、303和307的前世今生

phpmianshi6个月前 (01-28)运维270
背景《HTTP权威指南》第3章在讲解30X状态码时,完全没有讲清楚为什么要有302、303、307,以及他们的关系,一句“问题出在HTTP1.1”;而第五章在讲重定向响应时,没有说到现在很常见的302...

php中的system方法偶尔会出现unable to fork

phpmianshi6个月前 (01-27)php352
背景php代码中调用了system方法,执行了shell脚本,一开始运行正常,过一段时间偶尔会出现unable to fork的报错问题原因system调用会fork新的进程,因为每个用户有最大进程数...

jmeter压测实战

phpmianshi7个月前 (01-21)运维484
jmeter压测实战
下载安装下载JDK  : https://download.oracle.com/otn-pub/java/jdk/15.0.2+7/0d1cfde4252546c6931946de8db4...