追加功能 #503
Updated by Xihua Fan 2 months ago
*Background* # OTS4.0屡次系统奔溃 *具体问题* * 1. *PHP GD库save* PHP GC库save 问题:OOM 原因:可能GD库函数,exif_read_data等,读取大文件,也会导致内存枯竭。 原因: 处置:正确使用库函数,并保证图片文件不要太大。 处置: 备注:由于第一时间没有完全彻底调查原因,可能遗漏了部分【可能性】。 备注: * 2. *PHP PHP Upload Files* Files 问题:OOM 原因:AWS Liuux 2023默认tmpfs(内存文件系统),上传文件过大,导致内存枯竭(默认配置内存不足) 处置:自定义默认上传文件物理路劲(比如:/var/www/html/storage/upload/tmp),避免使用tmpfs 备注:AWS 从 Amazon Linux 2023 开始 /tmp 默认是挂载为 tmpfs(内存文件系统)。相比之前的 Amazon Linux 2 和更早版本,AL2023 是第一个默认把 /tmp 放到 tmpfs 上的 AWS Linux 版本。 * 3. *PHP CSV下载* PHP CSV下载 问题:OOM 原因: 处置: 备注: *v4 coding standard:* # Git提交 #xxx(redmine number): xxx(redmine title) - xxx(任意:补充内容) # 代码规范 2.1: 结构:Public -> Protected -> Private 2.2: 其他代码规范同SBX # MVCL的v3/v4物理分割 3.1: v3/v4的代码分为两个文件,比如: order.php, order_v3.php 3.2: system也分为两个文件,暂时只有一个user_v3 - Note: front的$this->user在v4中会替换为$this->customer, 即v4中需要清除$this->user 3.3: 代码中,区分v3/v4的调用,比如:new User_V3 # 前台代码 twig, js, css (js, css尽量写在单独的css文件中) # 后台代码 MVCL (L:en,cn) # 注释 ## 类名: <pre> /** * xxx * * @copyright RedBlue-OTS 2024 * @version v4 * */ </pre> ## 函数名:参数类型 + 返回值类型 <pre> /** * xxx * * @param xxx $xxx * @param xxx $xxx * @return xxx */ </pre> *Output* * Report and Solution *Others*