Xzy's Blog - 坑
type: channel
link: https://blog.xzynb.top/tag/%E5%9D%91/
items: 小坑标记（一）

小坑标记（一）
type: item
date: 2022-11-04T12:02:00+00:00
description: 最近写猪比的GOCQ托管服务，遇到了几个小坑，这里记录一下一、PHP的exec函数执行需要挂在后台的操作需要用exec运行gocq，一开始我是这么写的：exec("cd ./gocq/0/3582675884/ && nohup ./go-cqhttp 3582675884 az &");说白了就是使用nohup &来后台运行。但是这么做有个缺点，就是无法获取到终端的返回值。不过这倒不是问题，毕竟用nohup执行的一般也不需要返回值，那么直接header("Connection:close");不要让前端等太久以至于524不过问题很快来了，跑了一段时间相安无事，但是突然ps aux | grep go-cqhttp发现进程无了然后又试了很多种情况比如去掉nohup等，都没用不卖关子了，直接给出正解：exec("cd ./gocq/0/3582675884/ && ./go-cqhttp 3582675884 az > /dev/null &")这样的话就是把所有输出全部扔掉（应该是），不知道具体为啥，反正这样写之后再也没掉过也可以尝试这种方法二、cookie作用域问题写了一个很常见的页面，点按钮就会设cookie然后跳转到另一个详情页面然后两个按钮分别点了一下，按理说详情页面根据cookie不同内容也会不同，但是点进去后发现两次内容全部相同。然后看了一下Cookie，发现有两个相同的cookie。原来是这两个cookie作用域不同，结果导致PHP获取到的一直是另一个cookie那好吧，我们就统一一下作用域呗setcookie(键, 值, 过期时间, 作用域);然后js的话我用的是jq的cookie插件，详见菜鸟教程三、关于MDUI一些建议（一）MDUI有个自适应的网格布局，比如说.mdui-row-sm-6就是小屏幕设备及以上分两栏显示。但是如果仅仅是分两栏显示的话，不建议用网格布局（会很难看），可以用 Something Something 这样，如果是移动设备的话可以写个判断，结合jq的$(selector).width();等进行适配四、关于MDUI一些建议（二）网格布局文档里说.mdui-row必须要在.mdui-container中，但是mdui-container的边距某些情况下就相对较大可以将.mdui-container改为.mdui-m-x-1这样，设置x轴的margin为8px，这个边距就好很多了注：以上MDUI版本为1.0.1