php内功
文章平均质量分 61
行善积德韩老魔
我们很容易觉得科技的核心就是技术本身.
这是不对的,你我才是核心.
展开
-
PHP7新特性-简述
一、前言 php7目前(截止2018-09-17),最新的稳定版本是7.2.10(http://php.net/downloads.php上可查看版本信息),目前还有不少项目是用5.6甚至更早的版本。相比于php5.x的版本,php7有不少新的改进,性能方面也是有不少提升。下面来详细讲下。二、新特性1、php7.0相比于php5.6的新特性参考:http://php.net/manual/zh/migration70.new-features.php 下面所讲的内容都是来自于这篇文章.原创 2021-12-05 09:51:29 · 874 阅读 · 0 评论 -
PHP性能优化大全(php.ini)
第一章 针对系统调用过多的优化我这次的优化针对syscall调用过多的问题,所以使用strace跟踪apache进行分析。1. apache2ctl -X &使用-X(debug)参数启动httpd进程,这个时候只启动1个httpd进程2. ps -ef | grep httpd找到需要strace的pid3. strace -p $PID -o /tmp/strace.log发送一个http请求到httpd,就能看到strace信息了。一、include_path问题一...原创 2021-07-13 13:53:43 · 843 阅读 · 0 评论 -
php之性能优化案例
php是一个很流行的脚本语言,现在很多公司(新浪、优酷、百度、搜狐、淘宝等等)在使用这种语言进行网站开发。我的这篇文章,我只是希望能够提高你的php脚本性能。请记住你的php脚本性能,很多时候依赖于你的php版本、你的web server环境和你的代码的复杂度。优化你代码中的瓶颈Hoare曾经说过“过早优化是一切不幸的根源”。当你想要让你的网站更快运转的时候,你才应该去做优化的事情。当你要改变你代码之前,你需要做的事是什么原因引起了系统缓慢?你可以通过以下指导和其他方式优化你的php,可能是数据库原原创 2021-07-13 13:42:00 · 458 阅读 · 6 评论 -
常见的PHP漏洞
因为PHP是弱类型语言,所以内置的很多函数,在进行转换和比较的时候,会有各种漏洞需要关注。1、md5加密漏洞 比较哈希字符串的时候,php程序把每一个以“0x”开头的哈希值都解释为科学计数法0的多少次方,恒为0 所以如果两个不同的密码经过哈希以后,其哈希值都是以“0e”开头的,那么php将会认为他们相同。 另外md5加密是有几率两个字符串不同,但是加密后的值是相同的情况,这种情况称为哈希碰撞 <?php$str1 = 's878926199a';$str2 = 's原创 2021-03-29 09:27:04 · 2271 阅读 · 0 评论 -
PHP中的排序函数sort、asort、rsort、krsort、ksort分析
在php中自带了大量了数组排序函数,下面我们一一来介绍一下关于php数组排序的用法吧。 sort() 函数用于对数组单元从低到高进行排序。 rsort() 函数用于对数组单元从高到低进行排序。 asort() 函数用于对数组单元从低到高进行排序并保持索引关系。 arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。 ksort() 函数用于对数组单元按照键...原创 2020-08-19 14:05:20 · 558 阅读 · 0 评论 -
PHP用substr截取字符串出现中文乱码问题用mb_substr
PHP用substr截取字符串出现中文乱码问题用 mb_substr实例:mb_substr('截取中文乱码问题测试',0,5, 'utf-8');语法 : string substr (string string, int start [, int length])$rest = substr ("abcdef", 1); // returns "bcdef"$rest = subst...原创 2019-11-13 14:01:19 · 550 阅读 · 0 评论 -
高并发抢购方案的思考
经常在面试中被问到如何设计一个高并发环境下的抢购方案,虽然网上的资料已经很多了,但是都是很简单的说了一些用队列之类的套话,没有更详细的细节考虑.被问的实在是太多了,不得已我也仔细想想这些该怎么设计.抛开运维阶段的多层负载均衡,直接只说PHP的业务层面的逻辑.整个流程如下:web界面点击抢购==>弹出答题弹窗==>答对判定当前队列长度==>队列未满就进入队列,显示排队中(状...原创 2019-11-01 13:56:33 · 289 阅读 · 0 评论 -
PHP实现Redis分布式锁
锁在我们的日常开发可谓用得比较多。通常用来解决资源并发的问题。特别是多机集群情况下,资源争抢的问题。但是,很多新手在锁的处理上常常会犯一些问题。今天我们来深入理解锁。一、Redis 锁错误使用之一我曾经见过有的项目把查询结果存储到 Redis 当中时的伪代码如下:$redis = new \Redis('127.0.0.1', 6379);$cacheKey = 'query...原创 2019-11-01 13:55:00 · 561 阅读 · 0 评论 -
Swoole 实现在线聊天
Swoole 跟 thinkphp5 结合开发 WebSocket 在线聊天通讯系统ThinkPHP 使用 Swoole 需要安装 think-swoole Composer 包,前提系统已经安装好了 Swoole PECL 拓展tp5 的项目根目录下执行 composer 命令安装 think-swoole:1 composer require topthink/think-s...原创 2019-10-24 11:07:46 · 1574 阅读 · 0 评论 -
nginx如何实现负载均衡以及实现方式
什么是ngnix?Nginx是一个http服务器。是一个使用c语言开发的高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。nginx能够支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。NGINX可以用来做什么?1、反向代理:反向代理(ReverseProxy...原创 2019-10-24 10:58:10 · 404 阅读 · 0 评论 -
API设计中防重放攻击
HTTPS数据加密是否可以防止重放攻击?否,加密可以有效防止明文数据被监听,但是却防止不了重放攻击。防重放机制我们在设计接口的时候,最怕一个接口被用户截取用于重放攻击。重放攻击是什么呢?就是把你的请求原封不动地再发送一次,两次...n次,一般正常的请求都会通过验证进入到正常逻辑中,如果这个正常逻辑是插入数据库操作,那么一旦插入数据库的语句写的不好,就有可能出现多条重复的数据。一旦是比较...原创 2019-10-24 10:52:38 · 256 阅读 · 0 评论 -
程序员实用工具网站
目录1、搜索引擎2、PPT3、图片操作4、文件共享5、应届生招聘6、程序员面试题库7、办公、开发软件8、高清图片、视频素材网站9、项目开源10、在线工具宝典大全程序员开发需要具备良好的信息检索能力,为了备忘(收藏夹真是满了),将开发过程中常用的网站进行整理。1、搜索引擎1.1、秘迹搜索一款无敌有良心、无敌安全的搜索引擎,不会收集私人信息,保护私隐...转载 2019-10-23 16:37:16 · 278 阅读 · 0 评论 -
程序员工作以后该如何提升?
刚好最近 Coding Girls 有同学问了这样一个问题:在现公司的开发日常已经脱离 hard 模式,就是日常写业务无压力,代码质量也 OK,但是写完业务就没事了。这样子应该怎样提升?其实在工作一年多左右的时间,我也曾提出过这样的问题。不知道是否曾有人也有过一样的烦恼,就是当你能够 handle 现在的工作之后,要怎么提升自己?这个问题无关性别,任谁都会有。所以还是想根据自己的经历来写一...原创 2019-07-03 16:41:19 · 343 阅读 · 1 评论 -
小程序标签
1、viewdiv和view都是盒模型,默认display:block。盒模型在布局过程中,一般推荐display:flex的写法,配合justify-content:center;align-items:center;的定义实现盒模型在横向和纵向的居中。2、text除了text文本节点以外的其他节点都无法长按选中。。截止到0.10.102800的开发者工具text支持嵌套text,不过...原创 2019-06-24 20:07:36 · 325 阅读 · 0 评论 -
十分钟快速搭建frp的ssh和http的内网穿透
title: 十分钟快速搭建frp的ssh和http的内网穿透date: 2017-11-19 17:52:58tags:内网穿透frpcategory: 网络frp简介frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。frp目前最新版本为0.13.0,frp目前仍然处于前期开发阶段,未经充分测试与验证,不推荐用于生产环境...原创 2019-07-08 17:50:21 · 1359 阅读 · 0 评论 -
常用的正则表达式大全——包括校验数字、字符、一些特殊的需求等
一、校验数字的表达式1 数字:^[0-9]*$2 n位的数字:^\d{n}$3 至少n位的数字:^\d{n,}$4 m-n位的数字:^\d{m,n}$5 零和非零开头的数字:^(0|[1-9][0-9]*)$6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$7 带1-2位小数的正数或负数:^(\-)?\d+(\.\...原创 2019-06-27 14:16:38 · 448 阅读 · 0 评论 -
在HTML中限制input 输入框只能输入纯数字
限制 input 输入框只能输入纯数字1、onkeyup = "value=value.replace(/[^\d]/g,'')"使用 onkeyup 事件,有 bug ,那就是在中文输入法状态下,输入汉字之后直接回车,会直接输入字母2、onchange = "value=value.replace(/[^\d]/g,'')"使用 onchange 事件,在输入内容后,只有 inpu...原创 2019-06-04 14:08:19 · 574 阅读 · 0 评论 -
MySQL VARCHAR字段最大长度到底是多少
varchar(n),n表示什么?MySQL5.0.3之前varchar(n)这里的n表示字节数MySQL5.0.3之后varchar(n)这里的n表示字符数,比如varchar(200),不管是英文还是中文都可以存放200个n最大可以是多少MySQL行长度MySQL要求一个行定义长度不能超过65535个字节,不包括text、blob等大字段类型,varchar长度受此长度限制,和其...原创 2019-06-03 11:00:29 · 24533 阅读 · 0 评论 -
location reload页面实现跳转和刷新
1 history.go(0)2 location.reload()3location=location4 location.assign(location)5 document.execCommand('Refresh')6 window.navigate(location)7 location.replace(location)8 document.URL=locatio...原创 2019-06-05 20:29:43 · 1616 阅读 · 0 评论 -
Xshell5 提示要继续使用此程序,您必须应用最新的更新或使用新版本
问题描述今天上线一个服务,上完准备看下OPS的发布结果,就是看看线上服务的日志之类的,突然发现我的Xshell5打不开了,提示:百度了下,总体有一下几种解决方案。回到顶部修改系统时间(1)先修改你电脑时间为当前时间之前的某一时间,为保险起见,你可以直接修改为上一年。,然后就可以打开xshell了,(2)打开后点击:工具-->选项-->更新-->取消...原创 2019-10-08 10:31:37 · 364 阅读 · 0 评论 -
phpstorm常用快捷键
1.shift + F6重命名 可以很方便的重命名方法和变量名等等。甚至文件的重命名,也会自动修正include filepath2. ALT+F7 也可以直接鼠标右键find usages 功能,寻找一个方法或者函数在哪里被调用3.CTRL+SHIFT+I//查看变量初始化的值,如果是css中的class则显示当前class详细信息,如果是js则显示function...原创 2019-05-31 15:17:59 · 7986 阅读 · 0 评论 -
手机号码归属地查询接口(精确到地市)
一、淘宝网APIAPI地址:http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=15850781443参数:tel:手机号码返回:JSON二、拍拍APIAPI地址:http://virtual.paipai.com/extinfo/GetMobileProductInfo?mobile=1585078...原创 2019-06-28 16:36:55 · 3272 阅读 · 2 评论 -
程序员工作以后该如何提升?
刚好最近 Coding Girls 有同学问了这样一个问题:在现公司的开发日常已经脱离 hard 模式,就是日常写业务无压力,代码质量也 OK,但是写完业务就没事了。这样子应该怎样提升?其实在工作一年多左右的时间,我也曾提出过这样的问题。不知道是否曾有人也有过一样的烦恼,就是当你能够 handle 现在的工作之后,要怎么提升自己?这个问题无关性别,任谁都会有。所以还是想根据自己的经历来...原创 2019-10-11 11:15:21 · 210 阅读 · 0 评论 -
git stash 个人理解
之前有段想换工作,当与HR视频面试沟通时,HR问到git stash 是什么意思? 瞬间有点蒙逼,虽过去许久,但仍耿耿于怀,今天,特意抽出时间来这里记录我对git stash的使用理解。git stash (git 储藏)用于以下场景:1.发现一个类是多余的,想删掉它担心之后会用到它,想保存但又不想增加一个脏的提交,这时候可以考虑使用git stash;2.使用git的时候,我们往往使...原创 2018-12-07 16:25:45 · 5934 阅读 · 0 评论 -
进程与线程---线程的来龙去脉
进程最近有些烦恼,整日愁眉苦脸的,拜访内存的时候也有点心不在焉。内存是个明眼人,开门见山的问道:“进程啊,最近遇到啥问题了?我看你最近情绪有点低落,有啥问题你就直接说出来嘛,我让大家伙儿来一起帮你想想办法。”进程叹了口气,说道:“唉,最近不是说 CPU 单核频率到瓶颈了吗?人类就用多核芯来弥补单核处理器性能的不足,咱们的 CPU 不也升级到四核了嘛。”“是啊,这是好事啊,现在最多能并行...原创 2019-10-11 16:27:16 · 161 阅读 · 0 评论 -
FROM_UNIXTIME 格式化MYSQL时间戳函数
函数:FROM_UNIXTIME作用:将MYSQL中以INT(11)存储的时间以"YYYY-MM-DD"格式来显示。语法:FROM_UNIXTIME(unix_timestamp,format)返回表示 Unix 时间标记的一个字符串,根据format字符串格式化。format可以包含与DATE_FORMAT()函数列出的条目同样的修饰符。根据format字符串格式化date值。下列...原创 2019-10-09 15:06:53 · 172 阅读 · 0 评论 -
PHP为什么会被认为是草根语言?
以下文字并没有非常多的技术词汇,所以只要对PHP感兴趣的人都可以看看。PHPer是草根吗?从PHP诞生之日起,PHP就开始在Web应用方面为广大的程序员服务。同时,作为针对Web开发量身定制的脚本语言,PHP一直秉承简单、开源的思想,这也使得PHP得以快速的发展,并且大力地推动Web2.0的出现与发展。但是,长期以来,PHPer(PHP Programmers)被认为是处于草根阶层的程序员...原创 2019-10-09 10:31:28 · 249 阅读 · 1 评论 -
PHP实现获取url地址中顶级域名的方法示例
本文实例讲述了PHP实现获取url地址中顶级域名的方法。分享给大家供大家参考,具体如下:parse_url()获取到的host时多级域名,如:mp.weixin.qq.com。做域名黑名单的时候我们需要得到顶级域名。有不足之处还请留言指正,谢谢。<?phpheader('content-type:text/html;charset=utf-8');//获取顶级域名fu...原创 2019-10-08 10:54:17 · 723 阅读 · 0 评论 -
汉字转换格式以及截取(此例为:CP936格式转化为utf-8并截取)
先查看编码格式:检测字符编码,得出的结果是CP936mb_detect_encoding($str, 'GBK, gb2312, GB18030, ISO-8859-1, ASCII, UTF-8', true)用以下两种方式转换为utf-8格式错误方式【仅对于带汉字的字符串,对于纯数字与英文的字符串并不影响】: mb_convert_encoding($str, 'UTF-8'...原创 2019-09-06 09:55:50 · 1678 阅读 · 0 评论 -
PHP如何提高性能
PHP为什么慢?PHP最初设计并非解决计算密集型的应用场景,即它为了提升开发效率而牺牲了执行效率。PHP的一个很大的特点是它的弱类型特性,它实际对应的C的存储结构是zval:这个结构体将会占据远比C变量多得多的内存。单个变量内存消耗可能还不明显,但一旦用到PHP的数组等,则复杂指数上升(数组的实现是HashTable)。然后Zend引擎执行时将这些PHP代码编译为opcode(PHP中间字...原创 2019-08-27 15:53:54 · 190 阅读 · 0 评论 -
PHP7性能的蜕变(性能提升4倍)
研究PHP7技术的背景公司开源节流的大背景下 我们需要节省成本 PHP7相对于现在魅族线上的PHP版本5.X 性能提升至少一倍以上 社区日活用户增长迅速(15年数据 日均PV 年增长348% 日均UV年增长112%) 移动互联网的大环境下 要求我们的程序能够更快的速度响应用户的请求 以满足更好的用户体验 对新技术的求知欲望(满足自己的一点点虚荣心)PHP7性能小记PHP7性能初印...原创 2019-08-27 15:43:48 · 175 阅读 · 0 评论 -
最全最详细的PHP面试题(带有答案)
这篇文章介绍的内容是关于最全最详细的PHP面试题(带有答案),有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下1、__FILE__表示什么意思?(5分)文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径,而在此之前的版本有时会包含一个相对路径。2、如何获取客户端的IP地址?(5分)$_SERVER...原创 2019-05-23 18:07:45 · 603 阅读 · 0 评论 -
jquery:实现全选和取消全选
jquery:用jquery实现全选和取消全选1、目前我遇到的最简单的一种方法,如果有更好的方法,大家可以分享一下<input type="checkbox" id="all" />全选<br /> <input type="checkbox" name="sub" />image1.jpg<br /> <input type=...原创 2019-05-30 16:49:24 · 15955 阅读 · 5 评论 -
mysql分表详解
到底为什么要分表?难道数据量大就要分表?mysql数据量对索引的影响本人mysql版本为5.7新增数据测试为了测试mysql索引查询是否和数据量有关,本人做了以下的测试准备:新建4个表article1,article2,article3,article4,article5 每个表分别插入20万,50万,100万,200万,1500万的数据,数据都是随机生成 ...原创 2019-05-27 16:50:23 · 464 阅读 · 0 评论 -
InnoDB和MyISAM的区别(较深入)
InnoDB和MyISAM的区别区别概述:MyISAM 是MySQL中默认的存储引擎,一般来说不是有太多人关心这个东西。决定使用什么样的存储引擎是一个很tricky的事情,但是还是值我们去研究一下,这里的文章只考虑 MyISAM 和InnoDB这两个,因为这两个是最常见的。下面先让我们回答一些问题:你的数据库有外键吗? 你需要事务支持吗? 你需要全文索引吗? 你经常使用什么样...原创 2019-02-12 16:31:04 · 277 阅读 · 0 评论 -
PHP抓包之curl、file_get_contents 操作实例
1.概述file_get_contents函数多用来于来采集远程服务器上的内容,但使用file_get_contents函数之前我们在php.ini中是必须把allow_url_fopen开启才行 cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。2、file_get_contents 和 curl 区别1.curl 支持更多功能...原创 2019-02-21 18:09:26 · 940 阅读 · 0 评论 -
nginx的负载均衡如何配置
负载均衡 nginx的负载均衡有4种模式:1)、轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 2)、weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 3)、ip_hash 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 4)...原创 2019-01-26 10:31:00 · 258 阅读 · 1 评论 -
什么是XSS攻击?PHP防止XSS攻击函数
XSS 全称为 Cross Site Scripting,用户在表单中有意或无意输入一些恶意字符,从而破坏页面的表现!看看常见的恶意字符XSS 输入:1.XSS 输入通常包含 JavaScript 脚本,如弹出恶意警告框:<script>alert("XSS");</script>2.XSS 输入也可能是 HTML 代码段,譬如:(1).网页不停地刷新 &l...原创 2019-01-10 09:51:35 · 338 阅读 · 0 评论 -
git 学习(散记)之三
上节知识点:git add git commit -m“”git reset --hard commit_id(版本id)git checkout --XXX git reset HEAD XXX 若不理解,看上节内容(https://blog.csdn.net/qq_35458793/article/details/83269188)一,删除文件与恢复(git rm XX与git che...原创 2018-12-18 14:48:33 · 192 阅读 · 0 评论 -
国内cygwin镜像地址
使用过163提示无法从这个地址获取镜像,因此我选用的第三个地址下载 1)上海交大的FTP:ftp://ftp.sjtu.edu.cn/sites/cygwin.com/pub/cygwin/ 2)163的镜像:http://mirrors.163.com/cygwin/ 3)http://mirrors.sohu.com/cygwin/...原创 2018-12-10 09:42:12 · 2912 阅读 · 0 评论