# Bug

# 微信端调整字体大小后页面显示异常

ios:在css中加入-webkit-text-size-adjust: 100% !important;

body {
    -webkit-text-size-adjust: 100% !important;
}
1
2
3

安卓:借助WeixinJSBridge对象来阻止字体大小调整,将此段代码放在在程序的入口页面(例如 index.html / index.ejs等)即可

(function () {
    if (typeof WeixinJSBridge == "object" && typeof WeixinJSBridge.invoke == "function") {
        handleFontSize();
    } else {
        document.addEventListener("WeixinJSBridgeReady", handleFontSize, false);
    }
    function handleFontSize () {
        // 设置网页字体为默认大小
        WeixinJSBridge.invoke('setFontSizeCallback', { 'fontSize' : 0 });
        // 重写设置网页字体大小的事件
        WeixinJSBridge.on('menu:setfont', function() {
            WeixinJSBridge.invoke('setFontSizeCallback', { 'fontSize' : 0 });
        });
     }
})();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# ios端input无法输入

为input加入样式后即可解决

input{
    -webkit-user-select:text !important;
}
1
2
3

# canvas绘制图片调用toDataUrl跨域

为img对象添加属性crossOrigin即可解决

img.setAttribute("crossOrigin",'anonymous');
1

# 元素添加c3动画后导致z-index失效

可以为被遮盖的元素同样添加一个c3动画来解决

# ios css3动画结尾闪动(跳到最后一帧)

* {
  -webkit-backface-visibility: hidden;
}
1
2
3

# PHP执行exec shell时whoami身份为apache

造成此问题的原因是php的环境变量中定义的身份默认为apache(即便web服务用的是nginx),可打开phpinfo();查看,搜索apache后发现【Environment】块中和【PHP Variables】块中的【_SERVER["USER"]】为apache,将其修改为root即可解决找不到命令或无权查看命令的问题。 具体解决方案如下:

vim /etc/php-fpm.d/www.conf
# 将
# user = apache
# group = apache
# 修改为
# user = root
# group = root
# 后重启php-fpm即可
killall php-fpm
php-fpm -R
1
2
3
4
5
6
7
8
9
10

# PHP修改文件,或查询数据库时查询到旧数据

比较诡异的一个问题,最开始一度认为是tp框架的缓存导致,关闭所有缓存后问题依旧存在,尝试更换服务器后问题消失,所以将问题定位在服务器上,只有php会存在此问题,经排查确定是因为nginx开启了fast_cgi cache,在nginx.conf中删除所有fastcgi cache后恢复正常。

最后更新:: 3/12/2024, 3:17:51 PM