PHP相关的信息

PHP exec 执行shell脚本失败怎么解决?

1星期前 (2020-07-24) 32 浏览 评论

首先,我们先看下exec函数:// 第一个参数是执行的命令 // 第二个参数可选,返回完整执行结果,是个数组 // 第三个参数可选,返回执行状态,0成功,其他都是失败 exec('/www/itspire.sh', $res, $status);当我们执行失败的时候我们想知道为什么失败,哪里失败了。这时我们需要将标准错误定向到标准输出中:exec('/www/itspire.sh 2>&1'

PHP foreach变量引用传值后,将被其他foreach同名变量影响

1星期前 (2020-07-23) 36 浏览 评论

嗯,犯了低级错误我竟然还不知道,罪该万死。使用foreach出现问题,表示惭愧。可能是以前没有使用过同名的变量,导致没碰到过这个问题,我们直接看代码:$arr = [     ['subject'=>'语文', 'desc'=>'语文很好'],     ['subject'=>'数学

PHP PSR规范

4个月前 (2020-04-02) 110 浏览 评论

什么是PSR?PSR 是 PHP Standard Recommendations 的简写,由 PHP FIG 组织制定的 PHP 规范,是 PHP 开发的实践标准。官网镇楼:https://www.php-fig.org/psr/PSR-0:自动加载标准,自2014-10-21起,PSR-0已被标记为已弃用。PSR-4现在被推荐作为替代品。PSR-1:基本编码标准PSR-2:编码风格指南,已弃用,由PSR-12扩展和替换。PSR-3:日志记录器接口PSR-4:自动加载标准PSR-5:PHPDo

浏览器端和WEB服务端间的通信

4个月前 (2020-03-16) 110 浏览 评论

我们来了解下平时客户端请求接口的时候,是如何进行通信的,看下其过程:| 浏览器请求WEB服务端流程1、浏览器解析URL获取服务器主机名2、DNS将服务器主机名转换成其IP3、浏览器解析URL端口4、浏览器建立与WEB服务器的TCP连接5、浏览器向服务器发送HTTP报文6、服务器向浏览器回送HTTP报文7、关闭连接,浏览器显示数据| WEB服务端工作流程1、建立连接,接收客户端连接2、接收请求,读取HTTP报文3、处理请求,对报文进行解释,并采取行动。如:根据后缀判断该请求是P

Redis 缓存穿透、缓存雪崩、缓存击穿的理解和解决方案

5个月前 (2020-02-18) 197 浏览 评论

今天被问到缓存的一些问题,缓存穿透、缓存雪崩、缓存击穿这些专属名词还真没了解过。后来了解了下,这些的确是我们必须考虑的,之前没有接触过的确是不应该的,好在赶紧了解下。总结情况如下:| 缓存流程正常的缓存流程一般是这样的:1、发起请求->缓存存在->返回正常数据->End2、发起请求->缓存不存在->数据库存在->更新缓存->返回正常数据->End3、发起请求->缓存不存在->数据库不存在->返回空->End正常的用

Linux 下安装docker for centos8,以及docker-compose

6个月前 (2020-01-21) 1531 浏览 评论

Linux 下安装 Docker 系统,最低需要 CentOS 7(这里以 CentOS 8 为例,和 7 是有差别的)。| 安装依赖请先安装依赖,以免出现各种问题# 首先我们设置 Docker 仓库 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # 设置稳定的仓库 sudo&nbs

PHP !empty()是否包含isset()?

9个月前 (2019-10-30) 420 浏览 评论

经常能在项目中看到如下代码,那我们有没有考虑这样是否啰嗦了呢?if(isset($var) && !empty($var))首先我们了解下isset() 和 empty()isset:检测变量是否设置,并且不是 NULL。 即:变量未设置,返回false; 变量为NULL,返回falseempty:检查变量是否为空,""、0、"0"、NULL、FALSE、array()、var $var;&

RSA+AES 实现客户端和服务端交互数据加密

10个月前 (2019-09-23) 749 浏览 评论

现在接口大多是http请求,数据在请求过程中容易被抓包造成信息泄露或者数据被篡改。所以,数据传输过程中我们需要对敏感数据加密处理。在实现加密方法之前,我们需要先了解下加密算法,我们的加密方法都需要加密算法去支持。常用接口加密常用的就是 DES/AES/RSA/SHA1/MD5 等加密算法了。加密算法一般也就3种:对称加密算法、非对称加密算法、散列算法| DESDES对称加密算法,全称为 Data Encryption Standard,是一种使用密钥加密的块算法。加密串的长度是64位(

PHP Inf and NaN cannot be JSON encoded

10个月前 (2019-09-18) 1045 浏览 评论

json_encode 报错 Inf and NaN cannot be JSON encoded 我们通过 json_last_error_msg() 查看错因,得知是json序列化的数组里面包含NAN 和INF 这些内容导致的。解决方案如下:return json_encode(unserialize(str_replace(array('NAN;','INF;'),'0;',serialize($res))));

PHP 错误(Error) / 异常(Exception) 的捕获处理

11个月前 (2019-09-05) 794 浏览 评论

“错误”和“异常”的概念十分相似,都说明我们的系统出了问题,也都会给出错误信息和错误类型。但是“异常机制”的出现,是为了补充“错误机制”的不足,是为了防范可能出现的错误。优雅的处理错误和异常,是提升代码友好度和开发效率的关键。什么是错误?PHP中将代码自身的异常(一般是环境或者语法非法所致)称为错误(Error)。什么是异常?PHP中将代码运行中出现的逻辑错误称为异常(Exception)。| 异常异常是 Exception类的对象,我们可以通过getCode(),getMessage