自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不纯正的逼格的专栏

人最大的敌人是自己,一个人如果不能克服自己身上的弱点, 不能驾驭自己的心性,就永远无法成为那个最好的自己。

  • 博客(120)
  • 资源 (1)
  • 收藏
  • 关注

原创 【PHP】解决cURL error 60: SSL certificate problem: unable to get local issuer certificate (see

下载,如果无法打开的话,也可以将以下内容复制,并保存成成.pem文件,如:cacert.pem。

2024-03-22 14:59:18 2882

转载 【PHP、安全】PHP各类加密算法汇总

把任意长的输入串变化成固定长的输出串,并且由输出串难以得到输入串,这种方法称为单项散列加密。同一个密钥可以同时用作数据的加密和解密,这种方法称为对称加密。需要两个密钥来进行加密和解密,这两个秘钥分别是公钥(public key)和私钥(private key),这种方法称为非对称加密。

2024-03-22 10:58:57 31

转载 【测试】Fiddler抓包

如果Fiddler非正常退出,此时因此fiddler没有自动注销,会造成网页无法访问,需要重新启动Fiddler。有说明注释、重新请求、删除会话、继续执行、流模式/缓冲模式、解码、保留会话、监控指定进程、查找、保存会话、切图、计时、打开浏览器、轻触IE缓存、编码/解码工具、弹出控制监控面板、MSDN、帮助。Fiddler通过代理的方式获取程序http通讯的数据,可以用其检测网页和服务器的交互情况,能够记录所有客户端和服务器间的http请求,支持监视、设置端点、以及修改输入输出数据等功能。

2024-03-04 08:58:07 40

原创 【运维、HTTPS、SSL】使用Certbot的standalone 模式在Nginx下安装免费SSL 证书,完美实现证书自由

下面的就按提示输入,第一个是邮箱,有可能是作通过用的,第二第三个问题是让你同意一些协议,第四个问题看不同情况,有些人在nginx的配置里面已经有设置站点域名,那他会让你选给第几个域名生成证书,你输入个数字回车即可,如果你不想生成列表中的域名证书,貌似是按空格再回车即可,如果你按空格回车,那么他可能会让你输入一个域名。你选择域名和手动输入域名的最终区别在于,选择的域名他会自动帮你改写nginx的配置文件,配置好ssl证书路径这些,但如果是手动的,那么可能需要你自己去配置ssl证书了。

2024-02-26 18:06:33 436 1

原创 【PHP】PHP特殊字符自动转义函数及部分json接收后无法转换成数组问题解决

Magic_quotes_runtime()是php中的函数,如果参数为true则会数据库中取出来的单引号、双引号、反斜线自动加上反斜杠进行转义。Magic_quotes_gpc()是php配置文件中的,如果设置为on则会自动POST,GET,COOKIE中的字符串进行转义,在‘之前加\。

2024-02-26 11:18:33 278

原创 【PHP】PHP几个魔术方法的作用

_autoload()在实例化一个尚未被定义的类是会自动调用次方法来加载类文件。__isset()当对一个未定义变量调用isset()方法时自动调用的方法。__unset()当对一个未定义变量调用unset()时自动调用的方法。__tostring()当输出一个对象时自动调用的方法。__call()当调用不存在的方法时会自动调用的方法。__set()当给未定义的变量赋值时会自动调用的方法。__get()当获取未定义变量的值时会自动调用的方法。__destroy()销毁对象时自动调用的方法。

2024-02-26 09:45:06 232

原创 【PHP】PHP的垃圾收集机制是怎样的

PHP可以自动进行内存管理,清除不再需要的对象。PHP使用了引用计数(referencecounting)这种单纯的垃圾回收(garbagecollection)机制。每个对象都内含一个引用计数器,每个reference连接到对象,计数器加1。当reference离开生存空间或被设为NULL,计数器减1。当某个对象的引用计数器为零时,PHP知道你将不再需要使用这个对象,释放其所占的内存空间。

2024-02-26 09:44:13 105

原创 【运维】如何处理负载,高并发

数据库的并发连接为100,一台数据库远远不够,可以从读写分离、主从复制,数据库集群方面来着手。另外尽量减少数据库的访问,可以使用缓存数据库如memcache、redis。效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的 网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。Apache的最大并发连接为1500,只能增加服务器,可以从硬件上着手,如F5服务器。把图片单独存储,尽量减少图片等大流量的开销,可以放在一些相关的平台上,如七牛等。

2024-02-26 09:36:29 152

原创 【PHP】PHP7的新特性

PHP 7 中的函数的形参类型声明可以是标量了。在 PHP 5 中只能是类名、接口、array 或者 callable (PHP 5.4,即可以是函数,包括匿名函数),现在也可以使用 string、int、float和 bool 了。由于日常使用中存在大量同时使用三元表达式和 isset()的情况,NULL 合并运算符使得变量存在且值不为NULL, 它就会返回自身的值,否则返回它的第二个操作数。类似于参数类型声明,返回类型声明指明了函数返回值的类型。可用的类型与参数声明中可用的类型相同。

2024-02-26 09:34:52 180

原创 【PHP、运维】常见的php安全攻击

问题出在,当你不小心执行任意代码,通常通过文件包含。跨站点脚本攻击,由用户输入一些数据到你的网站,其中包括客户端脚本(通常JavaScript)。参数化SQL:是指在设计与数据库链接并访问数据时,在需要填入数值或数据的地方,使用参数 (Parameter) 来给值,用@或?生成另一个一次性的令牌并将其嵌入表单,保存在会话中(一个会话变量),在提交时检查它。一般来说,确保用户来自你的表单,并且匹配每一个你发送出去的表单。跨站点请求伪造,是指一个页面发出的请求,看起来就像是网站的信任用户,但是是伪造的。

2024-02-26 09:29:56 210

原创 【Docker、运维】如何卸载docker

卸载Docker的方法取决于你的操作系统。以下是在一些常见操作系统中卸载Docker的指导。确保在执行这些步骤之前,备份任何重要数据,包括Docker容器和镜像,以防万一需要以后恢复。这些步骤将彻底卸载Docker并清除与之相关的大部分数据和配置文件。

2024-02-24 10:36:35 1169

转载 【PHP、Composer】如何使用 replace 属性来避免 Composer 的依赖冲突?

这也意味着,如果某一天你的「other/package」得到更新,并且需要「original/library:^1.1」,你库中的替换仍处于活动状态,并声明它可以替换任何版本 1*,,即使你不更新内部的任何内容 - 这样做也无法完成,但是如果你不做任何工作,你的旧代码就永远不会实现原始库的新功能,但替换内容恰恰说明了这一点。但是,如果你在软件中需要完整的框架,而另一个库又需要该框架的组件,则该框架的 replace 声明使 Composer 不必两次安装该单个组件,因为它已经包含在完整的框架中。

2024-02-21 15:15:48 31

原创 【运维、Docker、PHP】PHP安装Fileinfo扩展报configure: error: Please reinstall the libmagic distribution解决方案,一步一坑

在Docker下安装php扩展,在安装Fileinfo时碰到一些依赖项一直安装不成功,经研究后将经验记录,以供被坑的自己和网友再预到时进行翻阅。另外,我这边Docker下安装的php环境是ubuntu系统,所以部分命令需要注意,但原理来说,各系统应该都差不多。

2024-02-02 17:03:03 488

转载 【运维、Centos、PHP】centos yum 安装 php7.4 的mongodb扩展

php 官网 pecl安装mongodb扩展: https://www.php.net/manual/en/mongodb.installation.pecl.php。#php mongodb 安装完成 需要在php.ini 里面加入 extension=mongodb.so,php.ini 路径查找方式。#里面的 /etc/opt/remi/php74 就是对应的php.ini 路径。#安装pecl php扩展包管理工具。

2024-01-31 11:23:20 70

原创 【运维】执行apt update 报公钥问题解决

然后启动了一个ubuntu 类型的容器,执行apt update 时报错。直接执行如下命令,比如我没有 3B4FE6ACC0B21F32,就需要执行。然后再次执行apt update 就可以了。更换三方源没有对应的Key。在centos 上安装了。

2024-01-31 10:06:44 262

转载 【运维、Ubuntu】APT镜像源配置

或 sudo cp /etc/apt/sources.list{,-bak}修改源。Ubuntu默认的源在国内访问网速慢、链接不稳定,所以修改为国内的。下面有阿里云、163、清华和中科大几种国内源。更新源 && 升级软件包。

2024-01-31 09:41:34 192

转载 【运维、Docker、PHP】Docker php安装扩展步骤详解

此篇,主要是演示docker-php-source , docker-php-ext-install ,docker-php-enable-docker-configure 这四个命令到底是用来干嘛的,它们在PHP容器中都做了哪些事情。很多人很不理解在Dockerfile中安装PHP扩展的时候总是出现这几个命令,本篇就就是为你揭开这些命令的神秘面纱而准备的,所有案例都是本人自己运行过的。

2024-01-29 18:54:57 328

转载 【运维、PHP】Docker安装PHP扩展

通过pecl安装的扩展,默认没有启动,必须修改php.ini配置才能使用,这个命令自启动,不需要修改配置。*卸载扩展,直接删除/usr/local/etc/php/conf.d 对应配置文件。与docker-php-ext-install搭配使用,可自定义配置安装的扩展。*安装完成后,会自动调用docker-php-ext-enable。*extract:创建并初始化 /usr/src/php。在php容器中创建/usr/src/php目录。*delete:删除/usr/src/php。

2024-01-29 18:51:26 141

转载 【PHP】Docker+Nginx+PHP环境部署报FastCGI sent in stderr: “Primary script unknown“ while reading...错

【代码】【PHP】FastCGI sent in stderr: “Primary script unknown“ while reading。

2024-01-29 18:17:44 379

转载 【运维、Docker】一键卸载docker和docker-compose

vim docker-uninstall.sh,输入以下内容。创建卸载文件: docker-uninstall.sh。# 删除旧版docker-compose。# 卸载旧版本的Docker。#删除docker的镜像文件。#卸载docker相关包。

2024-01-27 18:47:47 100

转载 【运维、Docker-compose、Consul】docker-compose安装consul

docker-compose版本: 1.24.0。版本:18.06.1-ce。

2024-01-27 17:05:34 29

转载 【运维、Docker】Docker nginx 容器挂载 nginx.conf 文件时报错: mounting “/root/nginx.conf“ to rootfs at “/etc/.....

在自己的服务器上想通过 nginx 镜像创建容器,并挂载镜像自带的 nginx.conf 文件。

2024-01-27 14:13:13 231

转载 【运维】CentOS 7安装谷歌浏览器

4、复制谷歌浏览器图标到桌面方便打开,我的桌面地址是​​/home/tao/Desktop​​​,如果是​​root​​​用户,地址改为:​​/root/Desktop​​。5、复制完成后如果​​图形化界面不是root用户​​​,会看到有​​一把锁​​​。为:Exec=/usr/bin/google-chrome-stable %U --no-sandbox。即:/usr/bin/google-chrome-stable %U --no-sandbox。1、使用​​root​​登录终端。

2024-01-26 14:21:35 472

转载 【运维、Consul】Consul在CentOS7下后台启动和自启动配置

在浏览器 输入:http://192.168.126.139:8500/ui/-dev表示开发模式运行,另外还有-server表示服务模式运行。1.在/etc/init.d/目录下创建consul。4.设置consul服务为开机启动。3.验证是否安装consul成功。3.添加consul到系统服务中。2.修改consul可执行权限。出现如图所是则表示安装成功。1.下载Consul。3.启动consul。

2024-01-24 18:36:56 141

转载 【运维、Nginx】Nginx负载均衡详解

1、负载均衡的定义单体服务器解决不了并发量大的请求,所以,我们可以横向增加服务器的数量(集群),然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡。负载均衡的意思是在服务器集群中,需要有一台服务器作为调度者,客户端所有的请求都由调度者接收,调度者再根据每台服务器的负载情况,将请求分配给对应的服务器去处理。

2024-01-24 18:02:42 51

转载 【运维、Consul】使用Consul做服务发现的若干姿势

从2016年起就开始接触Consul,使用的主要目的就是做服务发现,后来逐步应用于生产环境,并总结了少许使用经验。有些人可能对服务注册和发现还没有概念,有些人可能使用过其它服务发现的工具,比如zookeeper,etcd,会有一些先入为主的经验。这篇文章将结合Consul的官方文档和自己的实际经验,谈一下Consul做服务发现的方式,文中尽量不依赖具体的框架和开发语言,从原理上进行说明,希望能够讲清楚上边的几个问题。

2024-01-24 13:36:38 38

转载 【运维、Consul】consul集群遇到的问题记录

Client的节点数量:单个Client如果注册的服务太多,负载较重,需要有个算法(比如hash一致)合理分配每个Client上的服务数量,以及确定Client的总体数量。无client模式的consul集群,三个server角色,他们的ip地址分别是192.168.10.16,192.168.10.17,192.168.10.18。它针对互联网的高延迟进行了优化,能够实现跨数据中心请求。Server:功能和client都一样,唯一不同的是,它会把所有的信息持久化的本地,这样遇到故障,信息是可以被保留的。

2024-01-23 19:00:10 53

转载 【运维、Consul】consul无client模式

vim /usr/local/nginx/conf/upstream.conf代理。vim /usr/local/nginx/conf/nginx.conf服务器。每一个consul的server模式的容器,都须要单独的物理服务器。一、推consul的镜像到生产应用所有服务器。nginx反向代理consul:vim。dns解析添加A记录:dns。

2024-01-23 17:34:16 17

原创 【运维】consul集群搭建

client 0.0.0.0:consul绑定在哪个client地址上,这个地址提供HTTP、DNS、RPC等服务,默认是127.0.0.1,可指定允许业务服务客户端,使用什么IP去访问。注意:以下所有操作请在ROOT账号下完成,演示在操作系统版本为cenots7下完成,其他原理大同小异,自行研究。-bootstrap-expect 2:表示等待多少个节点连通后再选举领导者,如果此处填1,则默认自己为领导者。解决方案:这个其实是1节点的8301端口没有开放导致,用root用户开放下端口即可。

2024-01-22 15:29:57 953

转载 【运维、Consul、Docker】consul简介与安装

与其它分布式服务注册与发现的方案相比,Consul 的方案更“一站式”——内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value 存储、多数据中心方案,不再需要依赖其它工具。3、当 Consumer 发送 GET 方式请求 /api/address 到 Producer 时,会先从 Consul 中拿到一个存储服务 IP 和 Port 的临时表,从表中拿到 Producer 的 IP 和 Port 后再发送 GET 方式请求 /api/address;3、运行consul 容器。

2024-01-19 17:51:22 20

转载 【Centos】centos利用yum安装卸载软件常用命令

我们可以用 yum search keyword这样的命令来进行搜索,比如我们要则安装一个Instant Messenger,但又不知到底有哪些,这时不妨用 yum search messenger这样的指令进行搜索,yum会搜索所有可用rpm的描述,列出所有描述中和messeger有关的rpm包,于是我们可能得到 gaim,kopete等等,并从中选择。安装的命令是,yum install ~,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,那么最好,下载安装;

2024-01-19 17:43:33 99

转载 【Centos】CentOS7中文设置的两种方式

1、虚拟机左上角点击Applications -> System Tools -> Settings 进入设置页面。2、打开设置页面后点击Region & Language -> Language 进入语言设置界面。2、查看是否有zh_CN.utf8语言包,如果没有就需要手动下载安装字体(如果有就跳过这一步)3、设置虚拟机语言为zh_CN.utf8(中文),然后重启虚拟机。3、选择 汉语(中国) 然后点击Done完成设置。4、设置完成后,直接点击重启就完成中文设置了。一、使用终端命令设置中文。

2024-01-19 17:41:31 938

原创 【Centos、运维】CentOS各版本镜像下载地址

【代码】【Centos、运维】CentOS7各个版本镜像下载地址。

2024-01-19 16:07:23 562 3

转载 【Centos、运维】CentOS-8中“Failed to download metadata for repo ‘AppStream‘”的解决方法

会出现cp: -r not specified;omitting directory 'bak'其实就是镜像里边的$releasever替换成8-stream。意思就是:现在centos8停止维护了。这里不要用加r,无影响。接下来就可以正常使用了。

2024-01-19 15:29:40 269

转载 【运维】Hadoop完全分布式搭建

参考视频:https://www.bilibili.com/video/BV1SN4y1y7Xg/?SNN: SecondaryNamenode 用于FsImage和Edits的定期合。NN: NameNote 数据的目录。DN: DataNote 数据的位置。创建HDFS工作目录。

2024-01-19 11:16:38 16

转载 【运维】Hadoop完全分布式

为了后期使用方便,我们为集群机器之间设置免密登录,这里使用 Xshell 工具使用远程登录连接操作,可以在官网免费下载 Xshell 官网,顺便也下载 Xftp 工具,方便后期传输文件和安装包。一直点击下一步,设置虚拟机磁盘容量,根据自身的实际情况来,建议设置为 50G,避免其它应用安装不了。点击左下角 + 号添加分区,点击下拉列表框,选择 /boot,分配 1G 空间,点击添加,添加完成后修改文件系统为 ext4。上述设置完成后,点击开始安装,设置 ROOT 密码,顺便添加一个用户,等待系统安装完成。

2024-01-19 10:57:15 14

转载 【PHP、Nginx】502故障,你是怎么解决的?

在这期间,nginx无法将php文件转交给php-fpm处理,所以cpu会降至很低(不用处理php,更不用执行sql),而负载会升至很高(关闭和开启children、nginx等待php-fpm),网卡流量也降至很低(nginx无法生成数据传输给客户端)最近经常会出现这样的情况:php页面打开很慢,cpu使用率突然降至很低,系统负载突然升至很高,查看网卡的流量,也会发现突然降到了很低。上面总结的出现502的错误就这么多,更多的502问题在开发过程中需要大家去发现,然后最好是做更多的总结,总结经验!

2024-01-19 09:09:04 63

转载 【运维、Nginx】分布式应用部署之Nginx方案

另外,最好检查一下yum的repo配置源的版本是否正确,比如检查:/etc/yum.repos.d/CentOS-Base.repo文件,看看里面的URL路径里面的OS版本是否与系统的CentOS版本一致。注意:安装过程中,有可能提示依赖包的版本不正确,可以考虑upgrade升级或者downgrade降级对应的依赖包的版本,然后再进行安装。然后,需要注意如果使用了CAS,对于认证后跳转的url,需要指定为访问nginx的url,而不是后端某个server的地址。如果过程中没有报错,则安装完成。

2024-01-18 16:16:30 22

转载 【运维、Nginx】Nginx配置中的log_format用法梳理(设置详细的日志格式)

nginx服务器日志相关指令主要有两条:一条是log_format,用来设置日志格式;另外一条是access_log,用来指定日志文件的存放路径、格式和缓存大小,可以参加ngx_http_log_module。一般在nginx的配置文件中日记配置(/usr/local/nginx/conf/nginx.conf)。重启nginx服务后生效。然后在nginx.conf文件或vhosts/*.conf文件中的access_log日志中指定级别为main。

2024-01-18 16:10:35 247

转载 【运维、Nginx】Nginx access_log日志条件过滤(IP地址/请求状态)

因为集团的SLB经常会通过心跳来进行服务检测, 每秒会有多个access, 导致日志文件经常将磁盘过度占用, 触发告警. 所以配置规则, 对access_log进行过滤.但是, 对于我自己来说, 仅仅通过状态码是不够的, 因为我只是想屏蔽来自SLB的访问.并且不关心它的状态.搜索了网上很多朋友的,但是发现不好使, 最后自己摸索出来了. 特地写出来,希望对以后的同学有帮助.我猜想能出现在format中的应该都没问题, 但是仅仅测试了两个, 有兴趣的朋友可以尝试并反馈哈.作者:kenny肉桂。

2024-01-18 16:02:37 174

【PHP、SSL、证书】报cURL error 60: SSL certificate problem的证书问题解决

PHP本地环境在调用第三方接口有时会出现cURL error 60: SSL certificate problem: unable to get local issuer certificate的错误提示,这边提供如下解决方案: 1、下载资源,并解压 2、将pem文件放于指定目录下,以便下一步使用,我这边是放在php安装目录下 3、找到php安装目录中的php.ini文件并用记事本打开,查找文本内容curl.cainfo="这里放上述所说的pem文件路径,需包含文件名",一般这行配置是被注释掉的,前面有个;号,你只要删掉;号,然后改一下文件路径即可,如没有的话就添在文本中的[curl]标签下。

2023-12-22

个人收藏的良心网站,更新时间:2021-4

个人收藏的良心网站,更新时间:2021-4

2023-12-21

TP5.0完全开发手册WORD版

TP5.0完全开发手册WORD版本。 ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。遵循Apache2开源许可协议发布,意味着你可以免费使用ThinkPHP,甚至允许把你基于ThinkPHP开发的应用开源或商业产品发布/销售。

2020-11-02

空空如也

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

TA关注的人

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