分类 记录 下的文章
阿里云虚拟主机使用 Typecho 1.1 开启HTTPS后无法登陆后台
解决方法:
编辑var/Typecho/Request.php,在isSecure方法中追加两个判断条件即可:
|| (!empty($_SERVER['HTTP_X_CLIENT_SCHEME']) && !strcasecmp('https', $_SERVER['HTTP_X_CLIENT_SCHEME']))
|| (!empty($_SERVER['REQUEST_SCHEME']) && !strcasecmp('https', $_SERVER['REQUEST_SCHEME']))
阿里云虚拟主机使用 Typecho 1.1 开启伪静态后打开子页面报错
官方推荐规则在其他环境使用完全正常,到阿里云虚拟主机这就不行了 ┑( ̄Д  ̄)┍
删掉后面的 $1 last就好了
location / {
if (!-e $request_filename) {
rewrite (.*) /index.php;
}
}
关系型数据库删除数据应该采用软删除还是硬删除
删除数据一般分为软删除
与硬删除
,软删除指在数据表中建立一个isDeleted
字段,若删除本数据只需标记此字段而非实际删除数据,硬删除是指将数据从硬盘中实际删除。
以往我一般习惯性的采用硬删除的方式,将关联数据使用一个事务完成删除,但这样的缺点也显而易见,不具备可恢复性、如果增加新的关联数据必须一起删除,前阵子我开发的一个项目就出现了后期关联的新数据没在删除操作中加上,导致删除数据后浏览数据出错的情况。
今天看到的一篇文章中的几句话后就想通了,原文如下:
订单不是被删除的,是被“取消”的。订单取消得太晚,还会产生花费。
员工不是被删除的,是被“解雇”的(也可能是退休了)。还有相应的补偿金要处理。
职位不是被删除的,是被“填补”的(或者招聘申请被撤回)。
显然,硬删除大多数时候并不符合实际业务的客观发展,如果滥用硬删除会抹掉很多业务中的细节,破坏数据的一致性,所以我的结论是:“尽量避免硬删除,除非这条数据真的不再具有任何意义”
文章链接:https://blog.csdn.net/sinat_42483341/article/details/105723458
Typecho使用国内的Gravatar头像源
修改为国内的Gravatar头像源可以大幅提高头像加载速度,在 index.php
或者 config.inc.php
的顶部加入此代码即可
define('__TYPECHO_GRAVATAR_PREFIX__', 'https://gravatar.loli.net/avatar/');
Typecho链接在新窗口打开
编辑 /var/HyperDown.php,将 <a
全部替换为 <a target="_blank"
即可
Typecho取消隐藏默认主题手机端侧边栏
编辑 /usr/themes/default/sidebar.php 文件,删除第二行的 kit-hidden-tb
侧边栏没有针对手机端的优化,但如果不显示出来就要另外加个分类页,个人认为还是显示出来好些。
INSERT操作 SQL语句执行成功但未插入数据
PHP版本:7.2
Mysql版本:5.7.31
使用PDO预处理执行insert语句插入数据,prepare执行成功,但execute返回false。
输出PDO错误结果也为空
print_r($pdo->errorCode());
print_r($pdo->errorInfo());
经排查发现主键字段未设置自增.
Array and string offset access syntax with curly braces is deprecated
此错误是Thinkphp 5.1 运行在 php7.4 环境下出现的,根据显示行数修改/thinkphp/library/db/Query.php
文件即可。
将
$seq = (ord($value{0}) % $rule['num']) + 1;
改为
$seq = (ord($value[0]) % $rule['num']) + 1;