PHP 中令人困惑的 strtotime

logo 4 2024-04-14

经常会有人被strtotime结合-1 month, +1 month, next month的时候搞得很困惑, 然后就会觉得这个函数有点不那么靠谱, 动不动就出问题. 用的时候就会很慌... 如:今天是2018-07-31 执行代码: date("Y-m-d",strtotime("-1 month")) 怎么输 ...

详情...

PHP 中 try、catch、finally 用法总结

logo 10 2024-04-14

在PHP编程中,try, catch, 和 finally 是用于异常处理的关键字,它们共同构成了异常处理机制的核心部分。下面是对PHP中try, catch, 和 finally 用法的总结: 1. 结构与基本概念 try { // 尝试执行的代码块,可能抛出异常 // ... } catch (Ex ...

详情...

PHP 登录引入双因素认证服务

logo 26 2023-10-16

双因素认证(2FA)的介绍详见文档,此处不做介绍。 引入方法 1、安装扩展 composer require pragmarx/google2fa GitHub 仓库 2、给用户生成秘钥 在用户信息中添加秘钥字段 google2fa_secret,在用户登录后,若该字段为空说明没有关联双因素认证,跳转关联双因素认证逻 ...

详情...

PHP 编译安装 event 扩展

logo 46 2023-08-22

1、安装event扩展依赖的 libevent-dev 包 # ubuntu apt-get install libevent-dev -y # centos yum install libevent-devel -y 2、下载 event 扩展 访问 https://pecl.php.net/package/eve ...

详情...

PHP 编译安装 inotify 扩展

logo 49 2023-08-22

php 的 inotify 扩展提供了监控文件或目录变化的功能,可以用来实现,服务的热更新,或安全监控。 具体使用方法参考文档:https://www.php.net/manual/zh/ref.inotify.php](https://www.php.net/manual/zh/ref.inotify.php) 下面 ...

详情...

base64 & urlbase64 介绍

logo 72 2023-06-11

Base64是一种用64个字符来表示任意二进制数据的方法。 Base64的原理很简单,首先,准备一个包含64个字符的数组: ['A', 'B', 'C', ... 'a', 'b', 'c', ... '0', '1', ... '+', '/'] 然后,对二进制数据进行处理,每3个字节一组,一共是3x8=24bit。 ...

详情...

ubuntu 下编译安装PHP报错 configure: error: Unable to detect ICU prefix or no failed. Please verify ICU install prefix and make sure icu-config works.

logo 206 2023-02-13

问题 ubuntu 环境下使用 lnmp.org 下载的 lnmp 安装包编译安装PHP5.6时报错 configure: error: Unable to detect ICU prefix or no failed. Please verify ICU install prefix and make sure ic ...

详情...

GatewayWorker websocket 连接 1 分钟后自动断开原因?

logo 560 2022-10-07

1、GatewayWorker websocket 连接 1 分钟后自动断开 GatewayWorker 配置通过nginx转发,客户端定时(每60秒)发送心跳, 心跳间隔设置如下: // 心跳间隔 $gateway->pingInterval = 30; $gateway->pingNotResponse ...

详情...

PHP 将空数组统一 json 序列化为 [] 的弊端

logo 564 2022-09-19

在 PHP 中表示空的map或空数组都是以空数组形式,在转化为json数据时,会将空数组统一 json 序列化成 [],这样就存在一个类型问题。 以前我们在与前端交互时一般是与弱类型语言js交互,对于空数组转成 {} 还是 [] 区别不大。 但随着APP的流行,PHP很多时候不是跟浏览器端的JS交互,而是跟Java和 ...

详情...

nginx+php使用open_basedir限制站点目录防止跨站

方法1)在Nginx配置文件中加入 fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root:/tmp/:/proc/:/要允许的其他目录/"; 通常nginx的站点配置文件里用了include fastcgi.conf;,这样的,把这行加在fastcgi ...

详情...

php 二维数组自定义排序方法

logo 657 2022-04-16

1、根据二维数组中的某个字段进行排序 比如我下面的数组是一组满减折扣的信息,我要按照满减的金额从小到大排序 <?php $arr =[ ["amount"=> 60,"discount"=> 35], ["amount"=> 20,"discount"=> 10], ...

详情...

PHP Fatal error: Call to undefined function imagettfbbox() 解决方法

logo 662 2022-04-12

在使用图片验证码扩展时,发现验证码无法显示,单独访问验证码页面报错 Call to undefined function imagettftext()。 使用搜索引擎查询了下,发现问题的关键是 gd未安装freetype,访问phpinfo.php文件发现 解决方案 第一步安装freeType 我的php版本是7.4 ...

详情...