
PHP
文章平均质量分 67
PHP_Undifind
<script>alert(hello world!!!);</script>
展开
-
用户态和内核态的概念区别
1.操作系统需要两种CPU状态内核态(Kernel Mode):运行操作系统程序,操作硬件用户态(User Mode):运行用户程序原创 2022-02-15 17:57:55 · 560 阅读 · 0 评论 -
怎样去理解Linux用户态和内核态?
在Linux技术讨论中经常会用户态和内核态术语脱口而出,可你们想过吗?用户态和内核态代表是什么?本片文章,就来谈一谈这个话题。我们先来看一张Linux整体架构图。从图上我们可以看出来通过系统调用将Linux整个体系分为用户态和内核态(或者说内核空间和用户空间)。那内核态到底是什么呢?其实从本质上说就是我们所说的内核,它是一种特殊的软件程序,特殊在哪儿呢?控制计算机的硬件资源,例如协调CPU资源,分配内存资源,并且提供稳定的环境供应用程序运行。用户态就是提供应用程序运行的空间,为了使应用程..原创 2022-02-15 17:47:22 · 263 阅读 · 0 评论 -
使用openssl 生成免费证书
一:什么是openssl? 它的作用是?应用场景是什么? 二:使用openssl生成免费证书回到顶部一:什么是openssl? 它的作用是?应用场景是什么?即百度百科说:openssl是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,它可以避免信息被窃听到。SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。Netscape(网景)公司在推出第一个Web浏览器的同时,提出了SSL协议标准。其目标是保证两个应用...原创 2021-06-16 16:41:22 · 728 阅读 · 0 评论 -
如何本地调试微信小程序接口服务器
微信小程序所访问的接口路径需是合法域名且必须为 Https 协议,如果你作为微信小程序的接口服务器开发者,并且很不幸的接到了一个服务端异常(500)的反馈,你会如何调试?一、束手束脚的服务端调试若是浏览器端开发,还可以通过修改访问域名,直接连接到本机 Ip,通过本地调试环境,舒适的查找问题。但是由于小程序的限制,直连 Ip 已然无用。此时一个低效但是有效的定位问题的路径为:通过完善的服务器日志体系,寻找突破口(完善的日志体系,就比较重要了) 检查代码,寻找潜在的问题原因 修改代码(...原创 2021-06-16 16:38:59 · 2195 阅读 · 0 评论 -
Docker从入门到干活,看这一篇足矣
容器简介什么是Linux容器Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持 进程所需的全部文件。容器提供的镜像包含了应用的所有依赖项,因而在从开发到测试再到生产的整个过程中,它都 具有可移植性和一致性。更加详细地来说,请您假定您在开发一个应用。您使用的是一台笔记本电脑,而且您的开发环 境具有特定的配置。其他开发人员身处的环境配置可能稍有不同。您正在开发的应用依赖于您 当前的配置,还要依赖于某些特定文件。与此同时,您的企业还拥有标准化的测试和生产原创 2021-01-05 16:38:48 · 256 阅读 · 1 评论 -
PHP7到底有多快,基准测试与特性分析告诉你
PHP7到底有多快,基准测试与特性分析告诉你PHP 是一种跨平台开源语言,也是迄今为止最流行的 Web 开发语言,全球有超过 80%的网站由 PHP 驱动。自 1994 年由 Rasmus Lerdorf 创建以来已走过 20 多年,经历了 6 个大版本的更迭。下面就来了解 PHP7 带来的新特性。2015 年夏天,备受瞩目的 PHP7 发布了第一个 Alpha 版本。之后,经过大概 3 个 Beta 版本和 8 个 RC 版本,2016 年 1 月 PHP7 正式发布。PHP7 是 PHP 一个非原创 2021-01-05 14:27:43 · 202 阅读 · 0 评论 -
由于浏览器的缓存导致修改之后,后台还是显示原先的封面
今天在开发过程中遇到一个小问题,后台修改一本书的封面,上传图片后,由于浏览器的缓存导致修改之后,后台还是显示原先的封面,后来加入了两行代码搞定了这个问题。header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" ); header("Cache-Control: no-cache, must-revalidate" ); ...原创 2020-09-29 13:40:21 · 229 阅读 · 0 评论 -
随机截取一个汉字
话不多说直接上代码<?phpfunction getH($str){ // 利用preg_split函数,将汉字字符串拆分成数组,第一个参数是正则匹配,必须加上u,因为是utf8编码 // 这里不能使用substr或者mb_substr等,因为这些方法是针对字符有效的,汉字占2或者3个字符 $str = preg_split('//u', $str, -1, PREG_SPLIT_NO_EMPTY); // 利用shuffle函数,打乱汉字数组 // 不能.原创 2020-09-29 08:53:10 · 922 阅读 · 0 评论 -
点赞功能如何设计,数据库如何选择,是否需要用缓存
点赞功能是目前app开发基本的功能今天我们就来聊聊 点赞、评论、收藏等这些场景的db数据库设计问题,1. 我们先来看看场景的需求: 显示点赞数量 判断用户是否点过赞,用于去重,必须的判断 显示个人点赞列表,一般在用户中心 显示文章点赞列表 我们先看一下头条和微博的例子这两个都是具有顶级流量的,后端肯定有复杂的架构,我们今天只谈大众化的方案。2.1 mysql方案mysql方案, 随着nosql的流行,大数据的持续热点,但是mysql仍然不可原创 2020-09-22 16:30:29 · 9639 阅读 · 0 评论 -
验证PHP中的IP地址
有时使用PHP函数可能会令人惊讶。使用验证过滤器验证IP地址似乎是其中之一。您可以设置几个标志来指定您不认为哪种IP地址有效,即:FILTER_FLAG_IPV4:仅验证IPv4地址 FILTER_FLAG_IPV6:仅验证IPv6地址 FILTER_FLAG_NO_PRIV_RANGE:将私有范围内的IP视为无效 FILTER_FLAG_NO_RES_RANGE:将保留范围内的IP视为...原创 2020-01-09 14:37:31 · 834 阅读 · 0 评论 -
php注册登录简单的加盐算法
1、创建初始化向量运用函数 mcrypt_create_iv (size,MCRYPT_DEV_RANDOM)。2、再用base64再次加密生成盐。3、拼接在密码的前面或者后面,用sha1加密并报错密码到数据库。4、保存盐到数据库,加密过程完成。(登录验证的时候注意自己的加密方式)。...原创 2019-12-20 17:59:33 · 610 阅读 · 0 评论 -
程序员总出BUG,这9个容易犯的错误编程你避免了吗?
为什么程序出故障?虽然自世界上第一位女程序员艾达·洛夫莱斯(Ada Lovelace)在上世纪第一次看到通用计算的潜力以来我们已取得了很大进展,但是我们编写的软件还是错误百出。这些年来,尽管我们开发出许多高级方法来确保代码的成功,但是程序还是不断的出故障。原因何在?虽然这个问题的答案多种多样,但我们还是决定提供一个务实的答案。程序员难免犯错。他们有时马虎了事。他们并不总是使用最佳工具或最佳...原创 2019-12-04 16:41:45 · 882 阅读 · 0 评论 -
PHP消息队列实现及应用
目前对消息队列并不了解其原理,本篇文章主要是通过慕课网学习归纳的一些笔记,为后续学习打下基础。众所周知在对网站设计的时候,会遇到给用户“群发短信”,“订单系统有大量的日志”,“秒杀设计”等,服务器没法处理这种瞬间迸发的压力,这种情况要保证系统正常有效的使用,就需要“消息队列”的帮助。本篇主要通过消息队列的思路进行学习。主要了解如下知识: 1、队列是个什么东西,他能干什么? 2、...原创 2019-05-23 11:34:21 · 172 阅读 · 0 评论 -
PHP学习资料大全
传智播客 php 教程:https://bbs.usoftchina.com/thread-210476-1-1.htmlphp 网 站 零 基 础 到 整 站 开 发 详 细 教 学 视 https://bbs.usoftchina.com/thread-209848-1-1.html 韩 顺 平 2017 最 新 泰 牛 PHP 自 学 教 https://bbs.usoftchin...原创 2019-05-09 12:34:23 · 754 阅读 · 4 评论 -
10位时间戳转13位
第一种方法:/** * * 返回一定位数的时间戳,多少位由参数决定 * * @param type 多少位的时间戳 * @return 时间戳 */function getTimestamp($digits = false) { $digits = $digits > 10 ? $digits : 10; $digits = $digits - 10; ...原创 2018-11-09 09:51:27 · 1597 阅读 · 0 评论 -
转自 方倍工作室微信公众平台开发
LNMP的配置与优化 一、LNMP的下载 LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat/Fedora、Debian/Ubuntu/Raspbian/Deepin VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)生产环境...转载 2018-09-18 14:23:38 · 5843 阅读 · 0 评论 -
正则表达式匹配两个特殊字符中间的内容
今天在使用正则表达式中,要匹配两个字符中间的内容,一时没有写出来,后来在网上找到了,记录一下。匹配两个字符串A与B中间的字符串包含A与B: 表达式: A.*?B(“.“表示任意字符,“?”表示匹配0个或多个) 示例: Abaidu.comB 结果: Awww.apizl.comB 匹配两个字符串A与B中间的字符串包含A但是不包含B: 表达式: A.*?(?=B) 示例: Awww.a...原创 2018-09-12 16:45:47 · 1549 阅读 · 2 评论 -
PHP curl获取页面内容,不直接输出到页面,CURLOPT_RETURNTRANSFER参数设置
使用PHP curl获取页面内容或提交数据,有时候希望返回的内容作为变量储存,而不是直接输出。这个时候就必需设置curl的CURLOPT_RETURNTRANSFER选项为1或true。1、curl获取页面内容, 直接输出例子: 1 2 3 4 5 6 7 8 9 10 <?php...原创 2018-08-21 15:48:02 · 5965 阅读 · 1 评论 -
索引
索引的目的:提高查询效率原理:通过不断的缩小想要获得数据的范围来筛选出最终想要的结果,同时把随机的事件变成顺序的事件,也就是我们总是通过同一种查找方式来锁定数据。数据结构:B+树图解B+树与查找过程: 如上图,是一颗b+树,关于b+树的定义可以参见B+树,这里只说一些重点,浅蓝色的块我们称之为一个磁盘块,可以看到每个磁盘块包含几个数据项(深蓝色所示)和指针(黄色所示)...原创 2018-08-20 18:47:28 · 210 阅读 · 0 评论 -
整理常用的PHP函数
array() array(value1,value2…..) 创建数组array_chunk(array,size,preserve_keys) 把一个数分割成新的数组块[tʃʌŋk]array_combine(keys,values) 通过合并两个数组(键名数组,键值数组)组成一个新的数组array_count_values(array) 用...原创 2018-03-15 00:42:54 · 172 阅读 · 0 评论 -
PHP网站常见的几种攻击方式
PHP网站建设中常见的安全威胁包括:SQL 注入、操纵 GET 和 POST 变量、缓冲区溢出攻击、跨站点脚本攻击、浏览器内的数据操纵和远程表单提交。1、防止SQL注入攻击在 SQL 注入攻击 中,用户通过操纵表单或 GET 查询字符串,将信息添加到数据库查询中。例如,假设有一个简单的登录数据库。这个数据库中的每个记录都有一个用户名字段和一个密码字段。构建一个登录表单,让用户能够登录。解决这个问题...原创 2018-03-22 20:02:58 · 942 阅读 · 0 评论 -
XSS跨站脚本攻击过程最简单演示
大多数人对于XSS的原理有一个基本认识,这里不再重复,只给出一个能够演示其原理的完整样例。1 角色分配有XXS漏洞的网站,IP地址172.16.35.135,PHP为开发语言受害访问者,IP地址172.16.35.220,浏览器为IE11黑客的数据接收网站,IP地址172.16.2.192,PHP为开发语言2 源码实例2.1 漏洞网站存在漏洞的URL为:http://172.16.35.135/x...原创 2018-03-22 20:13:09 · 539 阅读 · 0 评论 -
连接MySQL错误:Can't connect to MySQL server (10060)
使用图形界面管理工具Navicat for MySQL连接Mysql数据库时提示错误:Can't connect to MySQL server (10060)问题原因:导致些问题可能有以下几个原因:1、网络不通;2、服务未启动;3、防火墙端口未开放;解决方法:启动服务:[plain] view plain copyservice mysqld start; 经过分析,我遇到的这个问题是防火墙导...转载 2018-03-30 16:01:41 · 584 阅读 · 0 评论 -
通过Navicat for MySQL远程连接的时候报错mysql 1130的解决方法
解决方法: 1。改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改"mysql" 数据库里的 "user" 表里的 "host"项,从"localhost"改称"%",(需要重启server)mysql -u root -pvmwaremysql>usemysql;mysql>update user原创 2018-03-30 16:07:08 · 548 阅读 · 0 评论 -
PHP中常用的正则表达式函数
声明:$pattern=正则表达式,$subject=目标数据1.preg_match()与preg_match_all()preg_match($pattern,$subject,[array &$matches])preg_match_all($pattern,$subject,array &$matches)preg_match只会匹配一次,preg_match_all会把所...原创 2018-03-25 15:47:44 · 180 阅读 · 0 评论 -
PHP中的正则表达式函数
PHP中的正则表达式函数 在PHP中有两套正则表达式函数库。一套是由PCRE(Perl Compatible Regular Expression)库提供的,基于传统型NFA。PCRE库使用和Perl相同的语法规则实现了正则表达式的模式匹配,其使用以“preg_”为前缀命名的函数。另一套是由POSIX(Portable Operation System interface)扩展库提供的,...原创 2018-03-25 15:48:25 · 229 阅读 · 0 评论 -
PHP常见的算法题
有5个人偷了一堆苹果,准备在第二天分赃。晚上,有一人遛出来,把所有菜果分成5份,但是多了一个,顺手把这个扔给树上的猴了,自己先拿1/5藏了。没想到其他四人也都是这么想的,都如第一个人一样分成5份把多的那一个扔给了猴,偷走了1/5。第二天,大家分赃,也是分成5份多一个扔给猴了。最后一人分了一份。问:共有多少苹果?for ($i = 1; ; $i++){ if ($i%5 == 1) {...原创 2018-03-30 23:56:41 · 256 阅读 · 0 评论 -
PHP PSR规范详解
目前包括以下几个规范:PSR-0(弃用)PSR-1PSR-2PSR-3PSR-41.PSR-0自动加载规范,此规范已被启用-本规范已于2014年10月21日被标记为弃用,目前新的替代规范为【PSR-4】本文是为自动加载器实现通用自动加载所需要遵循的编码规范一个标准的命名空间与类名称的定义必须符合以下结构:\<Vendor Name><Namespace><Namesp...原创 2018-03-22 12:22:54 · 1222 阅读 · 0 评论 -
CI框架中数据库操作函数$this->db->where()相关用法总结
这篇文章主要介绍了CI框架中数据库操作函数$this->db->where()相关用法,结合实例分析了or_where()、where_in()、or_where_in()、where_not_in()及or_where_not_in()等函数的使用技巧,需要的朋友可以参考下本文实例总结了CI框架中数据库操作函数$this->db->where()相关用法。分享给大家供大家...转载 2018-04-10 09:36:35 · 1421 阅读 · 0 评论 -
Codeigniter数据库操作
Codeigniter比较全的数据库操作 。 查询$query = $this->db_query("SELECT * FROM table"); ==================================*/ //result() 返回对象数组$data = $query->result(); //result_array() 返回数据$data = $query->...原创 2018-04-10 09:43:07 · 695 阅读 · 0 评论 -
数组相关的操作
php获取数组的最后一个元素的方法。使用php内置函数end()。end() 函数将数组内部指针指向最后一个元素,并返回该元素的值(如果成功)。例如:$args=Array('www','phpernote','com');echo end($args);//com12相关的方法: current() - 返回数组中的当前元素的值 next() - 将内部指针指向数组中的下一个元素,并输出 pr...原创 2018-04-27 10:19:08 · 192 阅读 · 0 评论 -
PHP中如何设置error_reporting错误报告级别
错误报告级别:指定了在什么情况下,脚本代码中的错误(这里的错误是广义的错误,包括E_NOTICE注意、E_WARNING警告、E_ERROR致命错误等)会以错误报告的形式输出。 设置错误报告级别的方法: 1. 修改PHP的配置文件php.ini这种方式设置error_reporting后,重启web服务器,就会永久生效。这里以xampp集成软件包为例,打开配置文件php.ini,查看错误报告级别e...原创 2018-04-28 10:58:59 · 174 阅读 · 0 评论 -
js 和 php 的排序
usort($行,函数($一个,$ B){ $人= $一个 [ 'byteall' ] ; $ BL = $ B [ 'byteall' ] ; 如果($人== $ BL) 返回0 ; 返回($ al > $ bl)? - 1 :1 ; }); var compare = function(prop){ return fun...原创 2018-06-22 10:16:15 · 189 阅读 · 0 评论 -
mysql数据库的引擎 MyIASM/Innodb 详解
一般情况下,mysql会默认提供多种存储引擎,你可以通过下面的查看:看你的mysql现在已提供什么存储引擎:mysql> show engines;看你的mysql当前默认的存储引擎:mysql> show variables like '%storage_engine%';你要看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):mysql...转载 2018-08-20 18:12:18 · 310 阅读 · 0 评论 -
PHP AJAX JSONP实现跨域请求使用实例
今天我写的是PHP AJAX JSONP使用的实例。不清楚jsonp是什么的请自己搜索实例1test.html[html] view plain copy<!doctype html> <html> <head> <meta charset="utf-8"> <title>test</title> <转载 2018-03-14 23:58:43 · 199 阅读 · 0 评论