php 的 session 会话默认是关闭浏览器就失效了,同时如果不操作网页那么 >24 分钟后也会失效(24分钟后时间随机,后文有提)。如果想设置 session 过期时间可以参考以下方式。
关于 EmojiEmoji 表情随着 IOS 的普及和微信的支持越来越常见,比如这些比较常见的表情:⭐️ ✨ ⚡️。所谓Emoji就是一种在 Unicode 位于\u1F601-\u1F64F 区段的字符。这个显然超过了目前常用的UTF-8字符集的编码范围u0000-uFFFF。在 MySQL 中,UTF-8 只支持最多 3 个字节,而 emoji 是 4 个字节。Typecho 支持 em...
无意中看到一个博客内容最开始提示了文章可能过时的提示,感觉在现在信息量爆炸及高速迭代的时代,读者了解信息的发生时间非常重要,于是也给博客增加了这个提示,效果如图:这里以 Typecho 为例说明实现方法。解决方案1、首先找到博客主题模板显示文章内容的文件,一般是 post.php2、找到显示内容的代码 $this->content(); 修改为如下:<div class=&quo...
经测试 ubuntu 18.04 LTS 可以直接安装 php7.2-bcmath,命令如下:apt install php7.2-bcmath而 ubuntu 18.10 源中没有这个包,经搜索找到了离线 deb 包,下载后通过以下命令安装即可:dpkg -i php7.2-bcmath_7.2.19-0ubuntu0.18.10.1_amd64.debPHP 扩展 php7.2-bcma...
最近开发的移动 App 服务端 api 选用ThinkPHP来写,现需要针对不同用户进行获取数据时的权限控制,其中用户的授权信息由公司的 ERP 系统来维护,这里记录下实现过程。权限数据结构用到的相关表有:功能权限、用户权限、用户组权限,其中后两个表已经合并为一个视图方便查询。获取用户权限保存到 Array为了方便在各控制器中调用,在 common.php 中定义了 getPerms() 方...
研究ThinkPHP源码时发现删除记录的 destory 方法中的判断有点绕,学习了下发现还是因为自己读书太少。先看下面的逻辑:/** * 删除记录 * @access public * @param mixed $data 主键列表 支持闭包查询条件 * @return bool */ public static function destroy($data) { if...
微软的pdo_SqlSrv驱动只支持将decimal类型转为php的string字符串,不支持转float,官方在github上有回答,因为如果转换可能造成精度不准确(没仔细研究)。官方给出的方案是自己下载 SqlSrv 源码修改编译。编译教程:ThinkPHP 修改方法修改:thinkphp/library/think/db/connector/Sqlsrv.php,将以下参数设置成fal...
需求背景微酷最近使用ThinkPHP框架开发了一个移动应用的 api 服务端,通过php_pdo_sqlsrv扩展和MSSQL数据库交互。移动前端技术采用vue + framework7开发,然后发现前端表单页面报错,错误内容大体为:控件期望得 Number 数字类型,结果得到的却是 String 字符串类型。看了下服务端 api 返回的json数据,发现原本数据库(MSSQL)中decim...
按惯例还是吐槽 ThinkPHP 官方社区极度不友好,提问基本得不到答案,更很少有官方人员回复。ThinPHP 5.1 中间件判断 action 是否存在中间件 public function handle($request, \Closure $next) { //验证action是否存在 if (!check_action_exists($r...
先吐槽一下:最新刚入门ThinkPHP才发现真是入坑了,框架是不错就是官方社区太冷清了,问个问题基本没人搭理。项目背景最近用 ThinkPHP 重构公司的移动 App 服务端,公司 ERP 数据库使用 Sql Server 数据库并且排序规则是Chinese_PRC_BIN,于是在使用 ThinkPHP 中的 SqlSrv 驱动查询数据时报错了。错误信息:获取数据出错SQLSTATE[42S...
在微软的技术平台上有 Guid 唯一码,号称能保证全球唯一,在 Windows 平台上 PHP 生成唯一码可以借助 com_dotnet 的com_create_guid()来实现。PHP 生成 Guid 唯一码方法确定 phpext 目录中已经下载好了 php_com_dotnet.dll,如果没有网上下载个,php7、php5.6 都已经内置了,只是没开启。修改 php.ini 文件两个...