自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (1)
  • 收藏
  • 关注

原创 Docker容器之间的通信

情景:本地已经搭建laradock开发环境(php7.3+mysql5.7),现在想用laradock环境来运行同一个已有项目,但是该项目数据在mysql5.6的docker容器里,现在需要连接两个容器,实现数据交互。在网上涉猎了很多与《docker 容器之间通信_docker中容器如何实现通信》的相关资料,最终觉得使用docker新创建一个网络(-d bridge网络驱动器为bridge),把两个容器都连接到该网络下,实现数据交互。方法如下:自己创建一个网络[root@docker ~]#.

2021-12-24 17:58:54 1731

转载 php-fpm 三种运行方式 ondemand static dynamic

最近服务器SFTP时特别卡顿,free -m一看,物理内存竟然都用完了,都开始用Swap了,然后看进程列表,我去,满屏幕的php-fpm。看来有必要优化下php-fpm的执行方式了。看了这篇文章,原来php-fpm有3种对子进程的管理方式,从它的配置文档中又可以看出有2种。一种是pm = static,始终保持一个固定数量的子进程,这个数由pm.max_children定义,这种方式很不灵活,也通常不是默认的。另一种是pm = dynamic,他是这样的,启动时,会产生固定数量的子进程(由pm.sta

2021-08-13 13:13:50 536

原创 PHP中的SAPI是什么?如何实现?

SAPI,特意去查了一下,它是 Server Application Programming Interface 的首字母缩写,意思是服务器端应用编程接口。这是 PHP 内核提供给外部调用其服务的接口,即外部系统可以通过 SAPI 来调用 PHP 提供的编译脚本、执行脚本的服务。PHP 中实现的 SAPI 有很多,Cli、Fpm 是我们比较常见的。从下图可以较为清晰的理解外部系统是如何通过 SAPI 调用 PHP 服务图片来源于网络接下来主要是讨论下我们常见的 Cli、和 Fpm 是如何工作的。

2021-08-13 13:11:05 870

转载 【数据库】MySQL 加锁处理分析

一、背景MySQL/InnoDB的加锁分析,一直是一个比较困难的话题。我在工作过程中,经常会有同事咨询这方面的问题。同时,微博上也经常会收到MySQL锁相关的私信,让我帮助解决一些死锁的问题。本文,准备就MySQL/InnoDB的加锁问题,展开较为深入的分析与讨论,主要是介绍一种思路,运用此思路,拿到任何一条SQL语句,都能完整的分析出这条语句会加什么锁?会有什么样的使用风险?甚至是分析线上的一个死锁场景,了解死锁产生的原因。注:MySQL是一个支持插件式存储引擎的数据库系统。本文下面的所有介.

2021-03-11 16:45:45 214

转载 TCP 和 UDP 的区别

文章目录 前言 1. UDP 2. TCP 2.1 TCP 的三次握手 2.2 TCP 四次挥手 2.3 累计确认 2.4 顺序问题和丢包问题 2.5 流量控制的问题 2.6 拥塞控制的问题 总结及面试问题 前言前端的面试中经常问的 TCP 和 UDP 的区别,网上也有好多内容,比如TCP 和 UDP 的区别TCP 是面向连接的,UDP 是面向无连接的 UDP程序结构较简单 TCP 是面向字节流的,UDP 是基于数.

2021-02-22 18:04:31 269

转载 什么是CICD

一、简介 二、持续集成(CI) 三、持续交付(CD) 四、持续部署(CD) 五、下一步是什么?一、简介CI / CD的采用改变了开发人员和测试人员如何发布软件。最初是瀑布模型,后来是敏捷开发,现在是DevOps,这是现代开发人员构建出色的产品的技术路线。随着DevOps的兴起,出现了持续集成(Continuous Integration)、持续交付(Continuous Delivery)、持续部署(Continuous Deployment)的新方法。传统的软件开发和交付方...

2021-02-21 18:12:22 196

转载 Opcode是啥以及如何使用好Opcache

啥是Opcode?我们在日常的PHP开发过程中,应该经常会听见Opcache这个词,那么啥是Opcode呢?Opcache 的前生是Optimizer+,它是PHP的官方公司 Zend 开发的一款闭源但可以免费使用的 PHP 优化加速组件。 Optimizer+ 将PHP代码预编译生成的脚本文件Opcode缓存在共享内存中供以后反复使用,从而避免了从磁盘读取代码再次编译的时间消耗。同时,它还应用了一些代码优化模式,使得代码执行更快。从而加速PHP的执行。Optimizer+ 于 2013...

2021-01-09 00:32:51 531

转载 PHP 开启 Opcache 后的一些坑

众所周知,PHP5.5 以后官方自带了一个组件叫Zend Opcache,具体可以参看官方文档。开启此扩展后可以提高 PHP 的执行效率,具体提升多大我会在最后给一个简简单单的测试,提供给大家参考。Opcache 的执行流程大致如下,Opcache 的目地是避免重复编译,减少 CPU 和内存开销。由于这篇文章的本意是想记录以及备注一下开启 opcache 后出现的一些问题,所以这篇文章不会记录如何安装 opcache 以及如何配置,推荐这篇文章大家参考一下就可以了,配置说的都很明确了。.

2021-01-08 23:54:41 2391 1

转载 让PHP7达到最高性能的几个Tips

PHP7已经发布了, 作为PHP10年来最大的版本升级, 最大的性能升级, PHP7在多放的测试中都表现出很明显的性能提升, 然而, 为了让它能发挥出最大的性能, 我还是有几件事想提醒下.PHP7 VS PHP5.61. Opcache记得启用Zend Opcache, 因为PHP7即使不启用Opcache速度也比PHP-5.6启用了Opcache快, 所以之前测试时期就发生了有人一直没有启用Opcache的事情. 启用Opcache非常简单, 在php.ini配置文件中加入:z.

2020-12-21 21:55:27 103

转载 PHP7开启opcache打造强悍性能

鸟哥在博客中说,提高PHP 7性能的几个tips,第一条就是开启opcache:记得启用Zend Opcache, 因为PHP7即使不启用Opcache速度也比PHP-5.6启用了Opcache快,所以之前测试时期就发生了有人一直没有启用Opcache的事情那么什么是Opcache呢?Opcache 的前生是Optimizer+,它是PHP的官方公司 Zend 开发的一款闭源但可以免费使用的 PHP 优化加速组件。 Optimizer+ 将PHP代码预编译生成的脚本文件Opcode...

2020-12-21 21:43:07 163 1

转载 在服务器上对 PHP-FPM 和 Nginx 进行安装配置详解

PHP-FPMPHP-FPM(PHP FastCGI Process Manager),是用于管理 PHP 进程池的软件,用于接收和处理来自 Web 服务器(如Nginx)的请求。PHP-FPM会创建一个主进程(通常以操作系统中根用户的身份运行),控制何时以及如何把 HTTP 请求转发给一个或多个子进程处理。PHP-FPM 主进程还控制着什么时候创建和销毁 PHP 子进程。PHP-FPM 进程池中的每个进程存在的时间都比单个 HTTP 请求长,可以处理10、50、100或更多的 HTTP 请求。安装

2020-12-19 21:49:58 215 1

转载 php.ini 配置调优 —— 让 PHP 应用性能维持在更高水平

上一篇我们讨论了如何配置运行 PHP 应用的服务器,接下来我们要讨论的是如何调优服务器,让 PHP 应用的性能维持在更高水平。默认安装的 PHP 就像是在百货商店里购买的普通套装,虽然合身,却不完美。调优的 PHP 就像是定做的套装,完全匹配你的尺寸。不过,需要注意的是,调优 PHP 只是提升 PHP 性能和效率的举措,对拙劣的代码和无响应的 API 调用无计可施。php.ini文件PHP 解释器在php.ini文件中配置和调优,这个文件在不同操作系统中的位置有所不同,而且一般命令行对应的...

2020-12-19 21:44:13 186 1

转载 关于Docker目录挂载的总结

Docker容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定。譬如我要启动一个centos容器,宿主机的/test目录挂载到容器的/soft目录,可通过以下方式指定:# docker run -it -v /test:/soft centos /bin/bash这样在容器启动后,容器内会自动创建/soft的目录。通过这种方式,我们可以明确一点,即-v参数中,冒号":"前面的目录是宿主机目录,后面的目录是容器内目录。貌似简单,其实不然,下面我们来验证一下:一、容器目录不可以为相对路径

2020-12-05 12:47:58 186

转载 Linux命令-更新系统时间

查看系统时间和时区:date 查看系统时间date -R 查看时区(1)修改时区tzselect 修改时区[root@hecs-x-large-2-linux-20200323161617 ~]# tzselectPlease identify a location so that time zone rules can be set correctly.Please select a continent or ocean. 1) Africa 2) Americas 3) Antar

2020-10-22 11:54:56 990

转载 Linux 网络时间同步

Linux的时间分为System Clock(系统时间)和Real Time Clock (硬件时间,简称RTC)。系统时间:指当前Linux Kernel中的时间。硬件时间:主板上有电池供电的时间。查看系统时间的命令: #date设置系统时间的命令: #date –set(月/日/年 时:分:秒)例:#date –set “10/11/10 10:15”查看硬件时间的命令: # hwclock设置硬件时间的命令: # hwclock –set –date = (月/日/年 时:分:秒

2020-10-22 11:46:54 163

原创 php时间戳不准确问题

今天同事告诉我说,在后台看到写入数据表的创建时间ctime(PHP时间戳)比正常情况下快了半小时。当时我第一反应肯定是时区设置错了。根据经验开始排查重新设置php.ini的timezone:timezone=Asia/Shanghai重启xampp后时间还是错。修改THINKPHP的config.php文件:DEFAULT_TIMEZONE => 'PRC'未果。在代码中设置时区:date_default_timezone_set(‘Asia/Phnom_Penh’.

2020-10-22 10:15:09 653

转载 PHP函数strip_tags的一个bug浅析

PHP 函数 strip_tags 提供了从字符串中去除 HTML 和 PHP 标记的功能,该函数尝试返回给定的字符串 str去除空字符、HTML 和 PHP 标记后的结果。PHP 函数 strip_tags 提供了从字符串中去除 HTML 和 PHP 标记的功能,该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数据被删除。比如下述代码:<div>string&.

2020-10-20 17:56:51 335

转载 libzip.so.5: cannot open shared object file: No such file or directory 错误导致安装PHP扩展失败原因

前言:平时都觉得安装Linux 扩展很简单嘛,结果今天没想到居然卡了半天时间。安装PHP扩展总共失败2次,一次是因为PHP 版本是5.6 过低导致,后来重装LNMP环境成功切换PHP版本为7.2。原本以为就此安装成功,没想到遇见如下情况:1,通过命令 查看PHP 扩展确实已经编译成功,可是我添加到配置文件始终就是报错:2,经过网上各类文章的翻阅,最终得知使用如下命令可以完成,拿我的这个案例Linux 指令演示:ln -s /usr/local/php/lib/php/extensions/no-deb

2020-09-02 18:11:47 1005

转载 The ‘Access-Control-Allow-Origin‘ header contains multiple values‘*, *‘, but only one is allowed.

https://blog.csdn.net/iechenyb/article/details/84753613使用Ajax跨域请求资源,Nginx作为代理,出现:The ‘Access-Control-Allow-Origin’ header contains multiple values ‘*, *’, but only one is allowed 错误。服务端允许跨域配置:#region 设置允许跨域,允许复杂请求HttpContext.Current.Response.AddHeader(

2020-08-24 10:57:57 855

转载 前后端分离与跨域的解决方案(CORS的原理)

前后端分离前后端分离的好处最大的好处就是前端JS可以做很大部分的数据处理工作,对服务器的压力减小到最小。后台错误不会直接反映到前台,错误接秒较为友好。由于后台是很难去探知前台页面的分布情况,而这又是JS的强项,而JS又是无法独立和服务器进行通讯的。所以单单用后台去控制整体页面,又或者只靠JS完成效果,都会难度加大,前后台各尽其职可以最大程度的减少开发难度。个人理解上存在两种解释第一种只是单纯的前后端分离,实在物理层面上的,将View层的任务分配给前端,Controller和Model层给后

2020-08-24 10:51:10 583

转载 mysql慢查询日志按天切割归纳

问题描述:mysql开启慢查询功能,再正常不过,那么存在这样一种情况:慢查询写入的文件位置和文件名是指定好的,如果慢查询时间设定严苛,不出意外,记录慢查询的单个文件大小会日益增大,几十兆或者上百兆,带来的问题也就是慢查询日志分析处理不够方便。解决思路:切割日志,再通过定时任务(crontab)按规定时间切分,一般按“天”切分。测试环境:mysql5.6和mysql5.7实现方法:方法...

2020-05-01 16:25:55 522

转载 linux下配置Mysql SLOW QUERY LOG

linux下配置Mysql SLOW QUERY LOG优化MySQL最重要的一部分工作是先确定”有问题”的查询语句。只有先找出这些查询较慢的sql查询(执行时间较长),我们才能进一步分析原因并且优化它。MySQL为我们提供了SlowQuery Log记录功能,它能记录执行时间超过了特定时长的查询。分析Slow Query Log有助于帮我们找到”问题”查询。记录slowqueries...

2020-05-01 15:52:53 521

转载 mysql参数:binlog-do-db和replicate-do-db

mysql参数:binlog-do-db和replicate-do-dbmysql主从复制的两个参数binlog-do-db:指定mysql的binlog日志记录哪个db实验:主库:binlog-do-db=testbinlog-do-db=xiaobinroot@[mysql]>show variables like '%binlog_format';+---------...

2020-05-01 15:18:52 4348

转载 linux安装mysql8(完整图文笔记)

基本命令安装 :  yum install mysql-community-server启动 :  service mysqld start/restart停止 :  service mysqld stop查看状态: service mysqld status本文包括: mysql安装 修改密码 开启远程访问 忘记密码后重置密码 卸...

2020-04-29 23:56:18 330

转载 驼峰命名和下划线命名互转php实现

驼峰命名和下划线命名经常需要互转,下面提供两种php的实现方式.第一种方法效率相对差一些,实现方式如下: //驼峰命名转下划线命名 function toUnderScore($str) { $dstr = preg_replace_callback('/([A-Z]+)/',function($matchs) { ...

2020-04-10 13:16:55 288

转载 徒手用 Docker 构建自己的 PHP 开发环境

1. 前言1.1 为什么要用 Docker ?是否有这样的场景,你搞了一个项目,在本地开发时需要搭建环境,放到线上时也需要搭建环境,到公司想暗戳戳玩一下要搭建环境,不搭还不行,因为你的环境依赖还挺多。这个时候如果有了Docker,只需要在机器上装个Docker,放上写好的Dickerfile,一行命令就自动完成这个事,方便又高效,岂不是很爽?1.2 准备接下来,本文介绍如何搭建一个PHP的...

2020-04-06 20:30:13 283

原创 Docker 安装nginx+ php + redis扩展

不废话1,创建php容器 (这个版本的php 装 redis扩展比较容易)docker run -d \--name myFpm \-p 9000:9000 \-v /root/www/html:/usr/share/nginx/html \php:5.6-fpm2,创建nginxdocker run -d \--name myNginx \-p 8080:80 \-v ...

2020-04-02 22:36:13 304

转载 数据结构基础概念篇

数据结构一些概念数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。数据:所有能被输入到计算机中,且能被计算机处理的符号的集合。是计算机操作的对象的总称。数据元素:数据(集合)中的一个“个体”,数据及结构中讨论的基本单位。数据项:数据的不可分割的最小单位。一个数据元素可由若干个数据项组成...

2020-03-30 12:03:17 199

转载 Linux 定时任务crontab 删除指定时间前的文件

1.新建一个可执行文件touch /usr/local/bin/clear_psd注意,赋予权限:chmod 777 clear_psd2.编辑 clear_psd 文件,在其中添加类似下面的代码#!/bin/shfind /www/psd-import/uploads -type f -mmin +10 -name *.psd -exec rm -rf {} \;解析:fin...

2020-03-30 00:19:56 1595

原创 PHP判断函数,类,方法,属性是否存在

php 判断类里面的某个属性是否已经定义bool property_exists ( mixed $class , string $property )检查类的属性是否存在$directory = new Directory;if (!property_exists($directory,'li')) { echo '未定义li属性!';}php判断系统函数或自己写的函数是否存...

2020-03-27 11:36:12 267

转载 php环境搭建(需编译安装)

以下是我遇到坑,又解决的过程借鉴某位大佬,原文:https://www.cnblogs.com/wujuntian/p/8183952.html一、安装前更新系统软件:yum update查看是否已安装wget:rpm -qa wget否则安装:yum install wget查看是否已安装编译器:rpm -qa gcc否则安装:yum install...

2020-03-21 12:51:19 328

转载 centos7下编译安装php7.3

1、安装相关依赖yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzi...

2020-03-21 10:53:01 417

原创 APP隐私政策

隐私政策本应用尊重并保护所有使用服务用户的个人隐私权。为了给您提供更准确、更有个性化的服务,本应用会按照本隐私权政策的规定使用和披露您的个人信息。但本应用将以高度的勤勉、审慎义务对待这些信息。除本隐私权政策另有规定外,在未征得您事先许可的情况下,本应用不会将这些信息对外披露或向第三方提供。本应用会不时更新本隐私权政策。 您在同意本应用服务使用协议之时,即视为您已经同意本隐私权政策全部内容。本隐私...

2020-03-16 15:43:12 737

转载 centos7 df -h运行hang的故障解决

问题描述df -h 运行后,长时间hang住,无任何错误输出 ,只能关闭shell,重新登录shell会发现之前的df进程还在问题查找排除nfs故障首先怀疑是nfs 相关故障引起的,检查nfs目录,可以正常访问,于是尝试快速重启 nfs 后,故障依旧。跟踪下df的执行,运行 strace df -h发现hang的地方如下...... stat("/proc/sys/fs/binfmt...

2020-03-16 10:57:21 576

转载 zip、gz、bz2、xz、tar.gz、tar.bz2、tar.xz

压缩打包介绍1、常见压缩文件①windows下的.rar、.zip、.7z②Linux下的 .zip、.gz、.bz2、.xz、.tar.gz、.tar.bz2、.tar.xz 家用带宽ip不固定,带宽为下载带宽机房带宽ip固定,上传和下载都为一样的如果公司的资源经常被下载,压缩以后文件会变小,会节省带宽gzip压缩工具#find /etc/ -type f -name "*.con...

2020-03-13 11:36:28 194

转载 linux下tar.gz、tar、bz2、zip等解压缩、压缩命令小结

Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩了,所以首先就来讲讲tar命令的基本用法:  tar命令的选项有很多(用man tar可以查看到),但常用的就那么几个选项,下面来举例说明一下:tar -cf all.tar *.jpg这条命令是将所有.jpg的文...

2020-03-13 11:20:56 150

转载 PDO和Mysqli对比分析与总结归纳

php操作mysql数据库,大家都知道有三种驱动,mysql mysqlipdo,其中mysql在php7之后被废除了。不是本文重点。咱现在来分析一下mysqli和PDO的区别,下面一张表用来说明他们的区别PDOMysqli数据库类型支持很多仅支持mysqlAPIOOPOOP+面向过程命名参数支持不支持连接容易容易对象映射支持...

2020-03-11 10:42:12 284

转载 简要谈谈php中mysql,mysqli,mysqlnd,pdo到底是什么

名词解释:最开始的初学者,往往搞不清mysqli,mysqlnd,pdo到底是什么,下面先直接贴出最直观的名字吧。MYSQL:This extension is deprecated as of PHP 5.5.0, and has beenremoved as of PHP 7.0.0. MYSQLI: MySQL Improved Extension MySQLND:MySQL Na...

2020-03-11 10:23:19 3091

转载 解读正则表达式

这个正则表达式是什么意思?var re= /<\S[^>]*>/g符号 / 和 / 之间是正则表达式的内容最后面的 g 表示 全局匹配(查找所有匹配),如果没有这个g只查找第一个< 就是这个符号\S 查找非空字符[^>] 查找除>之外的字符* 是数量词,表示零个或零个以上> 就是这个符号合起来是:1、以<开头2、后面紧邻的不是空...

2020-03-08 21:13:27 195

转载 RPM软件包管理器命令

1、rpm -q(1) 查询是否已经安装某一个rpm包:例如:rpm -q httpd(2)-qa:查询所有的已经安装的包:2、查询软件包的详细信息:rpm -qi-i :查询软件包信息(已安装,可以写包名)-p:查询未安装包信息(未安装,必须写包全名)3、查询包中文件安装位置:rpm -ql+包名例如:rpm -ql httpd-l:列表-p:未安装包的信息(包全名...

2020-03-04 13:59:29 764

仿易迅ecshop模板2013

仿易迅ecshop模板2013,运用了smarty技术~

2014-03-21

空空如也

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

TA关注的人

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