随笔分类 - php
1
php类文章
摘要:问题出现 有用户反映上传图片报网络错误, 问题转到开发之后怀疑可能是用户上传的图片比较大导致的错误, 后面测试发现在上传8m左右大小的图片的时候就会报错, 但是报的错误不是代码里面图片大小验证规则的错误, 而是异常捕获的错误, 让我很纳闷 后来决定先让前端在页面提示允许上传的文件大小为10m 前端在
阅读全文
摘要:方式有三 1 使用nohub nohup php bin/hyperf.php start > /dev/null 2>&1 & 2 是有docker 在docker 启动的时候执行 项目启动命令 3 在 config/autoload/server.php 中增加配置 在settings 数组总
阅读全文
摘要:起因 需求中, 订单列表中有一列数据需要根据websocket传递的数据实时改变,所以就需要动态改变列表中的值 而且使用的是fastadmin 处理 在对应的js文件的index方法中加入 // 这是一个定时更新列表中数据的方法table.on('load-success.bs.table', fu
阅读全文
摘要:php相关: 1 超卖现象 2 并发 3 优化 1 如果一个页面数据太多 分接口返回 这样既可以达到解耦效果 还可以增加反应速度 4 in_array 的时间复杂度是 O(n) isset 的时间复杂度是O(1) mysql相关: 1 索引相关文章: https://www.hollischuang
阅读全文
摘要:一个简单的判断 前端传入的字符串长度必须在20子以内 所以使用 mb_strlen $a = '包子心的土豆在看海'; echo mb_strlen($a); 按照预想情况 结果应该是 9 但是测试环境却报错了 经过测试 发现 我本地的环境是7.1 但是测试以及线上环境是php5.5 mb_strl
阅读全文
摘要:话不多说 上实例代码 $a = [ ['a' => 1], ['b' => 1], ['c' => 1], ]; foreach ($a as &$i) { $i['dd'] = 1; } foreach ($a as $i) { var_dump($i); } 我以为结果a b c 的对应值 可是
阅读全文
摘要:这算是一个代码优化的问题 因为数据表查询速度过慢,所以打开日志看了一下,发现一个joinwith的问题 写一个简单的查询 $orderGoods = orderGoods::find() ->joinWith([ 'orderInfo orderInfo ' ])->addSelect(['orde
阅读全文
摘要:命令行运行的脚本 和 接口有重复的代码 但是在共同代码中使用 用户信息时 会报错 Getting unknown property: yii\console\Application::user 所以使用一下代码 判断是否是console 模式 如果是 跳过用户信息的获取 Yii::$app inst
阅读全文
摘要:yii2 模型查询时 使用计算值 排序 例如: 商品有平台价 有市场价 市场价-平台价=利润 要根据利润排序 $list = Goods::find() ->alias('goods') ->addSelect([ 'goods.*', '(goods.market_price - goods.sh
阅读全文
摘要:找了一个使用 yii2 的公司,记录一下 yii2 中 使用模型查询时 or条件查询的使用 $query->where([ 'type' => 1 ])->andWhere([ 'status' => [1, 2, 3, 4] ])->andWhere([ 'like', 'name', '包子'
阅读全文
摘要:AOP切面 文档中是这么说的 好像除了说AOP是一种面向切面编程以外 也没有说什么 不过在AOP实现中 又说道aop的主要作用是在不侵入原有代码的情况下添加新的功能 其实如果你了解Java的话就会知道,切面的概念在Java中是很常用的,这里的切面跟Java中的应该差不多 还有就是aop跟中间件有点像
阅读全文
摘要:承接上文 第一天的时候,开启ws服务之后 php bin/swoft ws:start 可以通过ip加端口的方式进行访问 这是我们访问到的页面 我们知道要想学习一个新的框架,首先要知道的就是它的路由是怎么写的 文档上说,swoft框架使用的是注解,而不像laravel或者tp那样定义路由 先看一下
阅读全文
摘要:起因 很简单,老大看我太闲,给我找点事情做... 开始 对于swoft的介绍官网上面都有,说的好像是挺厉害的,咱也没用过 据说是一个基于 Swoole 扩展实现的 PHP 微服务协程框架,不要看这只是一句话,却包含了很多咱不知道或者没有在实际工作中接触过的东西, swoole,微服务,协程 既然这么
阅读全文
摘要:起因 工作中习惯使用模型关联查询数据,因为模型关联之后返回的数据可以是一对多的数组,使用join链表查询则是返回多条数据,使用模型关联就少不了对关联的模型进行查询 问题及解决 还是上代码说明 这是一个规格表关联商品 $sku = ProdSku::with('skuProd')->where([ [
阅读全文
摘要:场景 商城项目中的商品是安装类别区分的,在页面中也是按照分类展示的,为了是接口的反应速度更快,后端决定对产品进行缓存,考虑到redis的数据结构,决定采用有序列表和哈希,存储分组的有序列表以及分组的的哈希,以及每一个分组下产品的有序列表以及产品的哈希,举个例子 假如有十个分组,将这是个分组按照一定的
阅读全文
摘要:起因 公司项目使用到了redis队列, 使用队列就会遇到队列被干掉的情况, 所以需要使用守护进程 过程 当项目上线之后, 需要在子项目根目录启动队列 php think queue:listen 但是这种写法, 一旦窗口关闭, 队列就会取消, 所以我就想了一个取消救国的方法, 让它在后台运行 noh
阅读全文
摘要:tp6.0 新出了一个多应用模式,本以为多应用模式就是多模块的意思 但是经过多次尝试之后才明白, 多应用是真的多应用 多模块:一个app 分前端api 和 管理后台 多应用:多个应用 多个不同的应用 如一个订餐app 一个商城app 完全没有关系,只是写在同一个框架里面 同时一个应用里面又可以分为多
阅读全文
摘要:起因 不得不说,这两天确实有点闲 开始 第一步 安装php rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum
阅读全文
摘要:起因 上一个项目刚刚写完, 老板就扔过来一个新的项目需求, 不让人活啊, 一看需求,微信小程序直播, 没搞过啊, 怎么办,不能认怂啊, 搞起来 过程 遇到问题不要慌, 先发一个朋友圈, 玩笑... 第一步, 肯定是先去官方网站逛逛, 看一下文档 https://developers.weixin.q
阅读全文
摘要:直接上命令 ## rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release
阅读全文
1