php
文章平均质量分 56
「已注销」
这个作者很懒,什么都没留下…
展开
-
php 后端实现JWT认证方法
JWT简介JWT(json web token)是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源。比如用在用户登录上。JWT是什么JWT是json web token缩写。它将用户信息加密到token里,服务器不保存任何用户信息。服务器通过使用保存的密钥验证token的正确性,只要正确即通过验证。基于token的身份验证可以替代传统的cookie+session身份验证方法。JW转载 2020-05-22 15:20:55 · 449 阅读 · 0 评论 -
php token的生成
--->非开放性平台--->公司内部产品接口特点汇总:1、因为是非开放性的,所以所有的接口都是封闭的,只对公司内部的产品有效;2、因为是非开放性的,所以OAuth那套协议是行不通的,因为没有中间用户的授权过程;3、有点接口需要用户登录才能访问;4、有点接口不需要用户登录就可访问;针对以上特点,移动端与服务端的通信就需要2把钥匙,即2个token。第一个token是针对接口的(api_token);第二个token是针对用户的(user_token);.转载 2020-05-22 14:22:24 · 1870 阅读 · 0 评论 -
Mac 下使用 homebrew 切换不同版本 php
最近刚切换回 Mac 下进行开发,所以写了比较多的 Mac 环境部署之类的文章。今天需要重新切换一下本地的开发环境。原本想直接在当前环境下开发, 毕竟 Mac 自带了 PHP 环境,今天需要新添一个扩展 freetype ,需要重新编译一遍 PHP。 由于这个扩展是核心内置扩展,没法通过phpize来编译安装。 解决办法只有一个,就是找到PHP的安装源码重新编译一下,在编译的时候,加上–with-...转载 2020-04-20 20:21:57 · 1966 阅读 · 0 评论 -
Homebrew国内如何自动安装(国内地址)
一、自动脚本(全部国内地址)(在Mac os终端中复制粘贴回车下面这句话)/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"成功的话,如上图所示。Tip:最近遇到了清华大学源error 54的问题,他们的服务器2020年3月31坏掉了,今天4月1日还没有恢...转载 2020-04-20 14:38:17 · 613 阅读 · 0 评论 -
php脚本#!/usr/bin/env php写法的好处
最近在写PHP脚本发现有些脚本有这么个写法,长见识了。脚本语言的第一行,目的就是指出,你想要你的这个文件中的代码用什么可执行程序去运行它。比如php脚本的第一行可以写成如下几种格式#!/usr/bin/php#!/usr/bin/env php#!/usr/bin/env -S -P/usr/local/bin:/usr/bin php#!/usr/bin/env -S-P/usr/...转载 2020-04-19 15:09:20 · 204 阅读 · 0 评论 -
Apache 关于 mod_rewrite 遇到 "百分号2F"或"百分号5C" (正反斜杠)等特殊符号导致URL重写失效出现404的问题
.htaccess 文件<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]</IfModule>...转载 2020-02-27 21:43:22 · 418 阅读 · 0 评论 -
php后台网站退出用session_destroy()出现Session object destruction failed错误的解决办法
1 2 3 session_unset(); session_destroy(); echo"<script language=javascript>parent.location.href='Admin_Login.php'</script>"; 用这个命令,总是退出不了后台,提示se...转载 2020-02-25 16:06:16 · 1534 阅读 · 0 评论 -
WampServer 更改或重置数据库密码
WampServer 安装后密码是空的,修改一般有两种方式:一是通过 phpMyAdmin 直接修改;二是使用 WAMP 的 MySql 控制台修改。第一种:①在 phpMyAdmin 界面中点击【用户】,将用户概况中的所有用户名为【root】用户的密码都改为【要修改的密码】。修改是点击【编辑权限】,设置密码即可。②在目录 wamp\apps 下找到 phpmyad...转载 2020-02-20 16:55:37 · 340 阅读 · 0 评论 -
Wampserver修改默认的web根目录
我用的是wampserver3.0.6_x64.exe,安装好后,按照网上修改Apache的httpd.conf文件不行,之后找到解决办法。1、修改apache下httpd.conf文件里的路径2、修改apache下httpd.vhosts.conf文件里的端口号,避免出现端口占用。3、修改wamp64(安装步骤里有)目录下wampmanager.ini和wampmanage...转载 2020-02-20 11:26:54 · 555 阅读 · 0 评论 -
PHP闭包 function() use()
php的闭包(Closure)也就是匿名函数。是PHP5.3引入的。闭包的语法很简单,需要注意的关键字就只有use,use意思是连接闭包和外界变量。为什么要使用闭包:1.减少foreach的循环的代码2.减少函数的参数3.解除递归函数4.关于延迟绑定使用示例:<?php$name = 'xiaochuan';$test = function ($name...转载 2020-01-19 19:35:53 · 334 阅读 · 0 评论 -
php运算符优先级
括号的使用,哪怕在不是必要的场合下,通过括号的配对来明确标明运算顺序,而非靠运算符优先级和结合性来决定,通常能够增加代码的可读性。下表按照优先级从高到低列出了运算符。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序。运算符优先级结合方向 运算符 附加信息 无 clone new clone和new 左 [ array() ...转载 2020-01-19 17:52:23 · 203 阅读 · 0 评论 -
使用PHP_XLSXWriter代替PHPExcel
二者有何区别?PHPExcel是一个处理Excel,CVS文件的开源框架,它基于微软的OpenXML标准和PHP语言。可以使用它来读取、写入不同格式的电子表格,这也是PHP至今最通用的Excel处理工具,但是它有一个非常致命的缺点: 特别占内存,对大批量的表格数据几乎会让人累觉不爱,处理速度非常慢,但是它功能非常丰富,API非常多,所以在导出复杂格式的Excel表格时,你往往不得不使用它,真...转载 2020-01-06 22:21:43 · 234 阅读 · 0 评论 -
PHP解析大型Excel表格的库:box/spout
简介PHP解析Excel有个比较有名的库是phpoffice/phpexcel。在实际使用的过程中,解析一两百行的Excel没有问题,遇到上万行的Excel时,phpexcel的内存使用量会飙升,很容易就能超过128M甚至更多。今天我来介绍另一个高效解析Excel的PHP库box/spout,地址:https://github.com/box/spout看官方介绍是:Read and ...转载 2019-12-26 16:26:34 · 718 阅读 · 0 评论 -
mac安装php56 homebrew/php神坑的蛋疼问题
最近需要在新mac上安装php56,用brew安装结果出现:Error: No available formula with the name "php56".坑爹官宣:https://brew.sh/2018/01/19/homebrew-1.5.0/解决方案: 这里有你想要的一切:http://phpbrew.github.io/phpbrew/phpbrew包含了完整的php版本...转载 2019-06-16 21:35:58 · 945 阅读 · 0 评论 -
解决phpmyadmin 遇见的问题
1、phpmyadmin4.8.3 上传到网站目录后提示解决phpmyadmin mysqli_real_connect(): (HY000/2002): No such file or directory的错误,解决方法把phpmyadmin目录中的配置文件config.sample.inc.php改成config.inc.php,并把 1 2 3 ...转载 2019-06-20 12:29:14 · 1495 阅读 · 0 评论 -
phpspreadsheet 导出excel文件 详情步骤
<?phpcomposer下载就不说了安装了composer打开cmd 运行composer有没有安装上composer 输入composer -v 切换到项目目录 composer下载 composer require phpoffice/phpspreadsheet //引入自动加载类require_once "vendor/autoload.php";/...转载 2019-06-12 23:12:15 · 4431 阅读 · 0 评论 -
PHP变量处理之serialize
官方定义: 1 string serialize ( mixed $value ) serialize() 返回字符串,此字符串包含了表示 value 的字节流,可以存储于任何地方。这有利于存储或传递 PHP 的值,同时不丢失其类型和结构。 想要将已序列化的字符串变回 PHP 的值,可使用 unserialize()。serialize() 可处理除了 ...转载 2019-01-04 15:45:22 · 361 阅读 · 0 评论 -
php token的生成
--->非开放性平台--->公司内部产品 接口特点汇总:1、因为是非开放性的,所以所有的接口都是封闭的,只对公司内部的产品有效;2、因为是非开放性的,所以OAuth那套协议是行不通的,因为没有中间用户的授权过程;3、有点接口需要用户登录才能访问;4、有点接口不需要用户登录就可访问; 针对以上特点,移动端与服务端的通信就需要2把钥匙,即2个token。第一个token是针对接口的(api...转载 2018-06-13 11:06:12 · 1749 阅读 · 2 评论 -
centos安装php7.2
这篇文章主要介绍了关于centos安装php7.2,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 目前php最高稳定版本是7.2,wordpress中也建议采用该版本。若直接采用centos中的yum安装:sudo yum -y install php,版本是5.4,远远不够,因此我们要手动更新rpm即可。首先获取rpm: 1 2 ...转载 2018-11-21 11:43:51 · 174 阅读 · 0 评论 -
php识别二维码和条形码
使用php-zxing,github地址:https://github.com/dsiddharth2/php-zxing在使用之前先确保已安装java环境另外参考链接:https://blog.csdn.net/mrwangweijin/article/details/79145677https://zxing.org/w/decode.jspx经过本人测试,识别率不是很高,...原创 2018-11-14 10:46:47 · 5710 阅读 · 0 评论 -
巧用PHP中__get()魔术方法
PHP中的魔术方法有很多,这些魔术方法可以让PHP脚本在某些特定的情况下自动调用。比如 __construct() 每次实例化一个类都会先调用该方法进行初始化。这里我们讲一下__get() 魔术方法的使用。读取不可访问属性的值时,__get() 会被调用。也就是,当想要获取一个类的私有属性,或者获取一个类并为定义的属性时。该魔术方法会被调用。下面有段代码:class Model{...转载 2018-10-08 09:53:35 · 297 阅读 · 0 评论 -
php7编程实战学习笔记(一)
1.注意使用命名空间和自动加载<?phpnamespace Application\Autoload;class Loader{ const UNABLE_TO_LOAD = ""; static $dirs = array(); static $registered = 0; protected static function loadFile(...原创 2018-08-11 21:04:43 · 894 阅读 · 0 评论 -
php面向对象学习积累(三)
1.学会使用PEAR包,避免重新发明轮子,已被composer取代2.CVS版本控制,已被git取代3.Phing4.phpDocumentor用于开发文档5.phpunit用于测试原创 2018-08-14 21:55:53 · 154 阅读 · 0 评论 -
php面向对象学习积累(二)
1.include()和require()语句的不同在于它们如何处理错误。使用require()调用文件发生错误时,将会停止整个程序;调用include()时遇到相同的错误,则会生成警告并停止执行包含文件,跳出调用代码然后继续执行。require()和require_once()用于包含库文件时更加安全,而include()和include_once()则适用于加载模板这样的操作。2.注意命名...原创 2018-08-10 17:14:00 · 137 阅读 · 0 评论 -
php面向对象学习积累(一)
1.在类的外部(非继承),只能访问共有(public)属性和方法。class shopProduct{ protected $title="com"; public $name="main"; protected function getProducer(){ return $this->name; }}$shopproduct=new shopProduct();...原创 2018-08-09 09:40:25 · 195 阅读 · 0 评论 -
centos下安装php环境
链接https://jingyan.baidu.com/article/a3f121e4b0dd75fc9052bbc6.html转载 2018-06-01 08:09:34 · 412 阅读 · 0 评论 -
相见恨晚的php文件管理器KodExplorer
不知道大家认识这款php文件管理器么?它的中文名是可道云,没错!可作私有云盘!我以前用虚拟主机的时候,因为自带的文件管理器功能太弱,操作起来非常繁琐,期间找了各种文件管理器,比如:8年文件管理器(共一个文件,相当牛),AjaXplorer(感觉庞大)等等,功能都不是很满意,只是凑合用,能临时给我带来便捷感,当然,现在vps宝塔自带的文件管理器也挺不错了。就在昨天,我回到虚拟主机那边想找一款...转载 2019-06-28 23:30:55 · 1303 阅读 · 0 评论 -
php面试常见问题
php方面的:抽象类接口类问题、关键字和魔术方法问题、curl&fopen系列问题、设计模式(工厂单例)&依赖注入系列问题、php闭包&类型约束问题、正则(必考)mysql:索引问题(必问),BTREE聚簇索引原理,慢查询解决流程,MySQL配置文件具体参数,主从配置Apache:Apache配置文件参数问题,fast-cgi,php-fpm相关问题linux:...原创 2019-07-14 09:05:43 · 132 阅读 · 0 评论 -
程序员常去的网站
作者:王小虎链接:https://www.zhihu.com/question/26453437/answer/114462228来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。Github - How people build software · GitHubGit是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在...转载 2018-03-16 13:21:27 · 2933 阅读 · 0 评论 -
基础篇|PHP如何解决网站大流量和高并发
基础篇高并发架构基础概念和优化思路高并发架构相关概念并发,在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行通常我们所定义的高并发并非上述解释,简单的来说就是在某个时间点、有多少个访问同时到来。高并发:通常如果一个日PV在千万以上,就有可能是一个高并发的系统QPS:每秒...转载 2019-08-02 12:50:02 · 148 阅读 · 0 评论 -
[php]如何做到高并发优化
在实际的开发过程中我们遇到过各种各样的活动,但像用户流量较大的平台就需要考虑高并发的问题,但是如何去解决呢?我总结了几种解决方案,欢迎大家指正!一、什么是PV/UV/QPS?PV:页面访问量,即PageView,用户每次对网站的访问均被记录,用户对同一页面的多次访问,访问量累计。(说白了就是用户的点击次数)UV:独立访问用户数:即UniqueVisitor,访问网站的一台电脑客户端为一...转载 2019-08-02 12:48:13 · 193 阅读 · 0 评论 -
php解决高并发问题
我们通常衡量一个Web系统的吞吐率的指标是QPS(Query Per Second,每秒处理请求数),解决每秒数万次的高并发场景,这个指标非常关键。举个例子,我们假设处理一个业务请求平均响应时间为100ms,同时,系统内有20台Apache的Web服务器,配置MaxClients为500个(表示Apache的最大连接数目)。那么,我们的Web系统的理论峰值QPS为(理想化的计算方式):...转载 2019-08-02 12:47:07 · 238 阅读 · 0 评论 -
高并发
高并发是指在同一个时间点,有很多用户同时的访问URL地址,比如:淘宝的双11,双12,就会产生高并发,如贴吧的爆吧,就是恶意的高并发请求,也就是DDOS攻击,再屌丝点的说法就像玩撸啊撸被ADC暴击了一样,那伤害你懂得(如果你看懂了,这个说法说明是正在奔向人生巅峰的屌丝。高并发会来带的后果服务端: 导致站点服务器/DB服务器资源被占满崩溃,数据的存储和更新结果和理想的设计是不一样的,比如:...转载 2019-08-02 12:45:08 · 170 阅读 · 0 评论 -
什么是高并发,如何避免高并发
之前我将高并发的解决方法误认为是线程或者是队列可以解决,因为高并发的时候是有很多用户在访问,导致出现系统数据不正确、丢失数据现象,所以想到 的是用队列解决,其实队列解决的方式也可以处理,比如我们在竞拍商品、转发评论微博或者是秒杀商品等,同一时间访问量特别大,队列在此起到特别的作用,将 所有请求放入队列,以毫秒计时单位,有序的进行,从而不会出现数据丢失系统数据不正确的情况。今天我经过查资料,高并...转载 2019-08-02 12:42:41 · 2649 阅读 · 0 评论 -
关于PHP程序员解决问题的能力
这个话题老生长谈了,在面试中必然考核的能力中,我个人认为解决问题能力是排第一位的,比学习能力优先级更高。解决问题的能力既能看出程序员的思维能力,应变能力,探索能力等,又可以看出他的经验。如果解决问题能力不佳是无法通过面试的。这里举个例子,假如我执行了一个PHP的脚本,如php test.php,预期是可以返回一个字符串。但执行后没有任何信息输出,这时候通过什么方法能知道程序错在哪里?这里可以将...转载 2019-08-01 21:28:17 · 75 阅读 · 0 评论 -
当我们在谈论高并发的时候究竟在谈什么?
什么是高并发?高并发是互联网分布式系统架构的性能指标之一,它通常是指单位时间内系统能够同时处理的请求数,简单点说,就是QPS(Queries per second)。那么我们在谈论高并发的时候,究竟在谈些什么东西呢?高并发究竟是什么?这里先给出结论:高并发的基本表现为单位时间内系统能够同时处理的请求数,高并发的核心是对CPU资源的有效压榨。举个例子,如果我们开发了一个叫做...转载 2019-08-01 17:20:35 · 80 阅读 · 0 评论 -
PHP+Redis秒杀其实很简单
前言:秒杀这个问题,一直以来都是经典的面试题。但是秒杀也分大小。如果一个产品的用户不超过5w,上来就问双十一级别的秒杀。那就没有意思了~,所以今天就简单聊下一般条件下的秒杀的思路。方法只有两个,一个是装载秒杀商品。一个就是模拟用户进场秒杀。图片发自简书App工具介绍首先环境就比较简单Apache PHP 7.3 redis框架我选择的ThinkPHP5.1 不过...转载 2019-07-31 15:40:21 · 427 阅读 · 0 评论 -
php中接口、抽象类以及接口和抽象类区别详解
在php中接口抽象类、Final、Static几个我们用到的相当的简单特别是大型网站架构时都会有用到了,今天我们来看一篇关于php中抽象类、Final、Static的例子。1. 接口(1)对接口的使用是通过关键字implements(2)接口不能定义成员变量(包括类静态变量),能定义常量(3)子类必须实现接口定义的所有方法(4)接口只能定义不能实现该方法(5)接口没有构造函数(6)...转载 2019-07-16 23:18:07 · 181 阅读 · 0 评论 -
php程序员如何写简历
第一部分:基本信息。必须有的:名字、联系方式(邮箱+电话)、出生年月(一般写个年份就好)、应聘职位、工作年限、地址(城市要有,具体地址可写可不写)。可以有的:座右铭、社交网络地址(里面有乱七八糟内容的就不要放了)、期望待遇。最好不要有的:照片(除非你对自己长相特别有自信,但是要放就放大头照,别放艺术照,谢谢)、星座血型(如果你应聘做这个的公司就另当别论)。第二部分:受教育经历。必须有的...转载 2019-07-12 07:42:36 · 6992 阅读 · 1 评论 -
http请求(GET/POST)时,url/参数编码的过程分析
http请求的发出,以及编码过程下面在chrome浏览器和postman下模拟请求,用fiddler来监控请求发出信息。chrome游览器地址输入:这个路径是手动输入的,黑色线是url,黄色线是uri,绿色线是queryString。这时F12,然后我们路径按下回车。chrome地址:chrome监控:fiddler监控:我们关注chrome控制台...转载 2019-06-29 18:40:50 · 6753 阅读 · 1 评论