-
多主表实为应用层字段拆分与冗余存储,非数据库标准术语;适用于高频查询、低频更新、跨库JOIN不可行及多服务分治场景,但需警惕DDL维护、数据一致性与迁移风险。
-
负载均衡必须与后端服务器同地域;阿里云内网型SLB严格限制同地域,公网型CLB跨地域需额外开通跨VPC能力,健康检查失败多因地域或可用区不匹配。
-
PHP8构造器属性提升可省去属性声明、类型提示和手动赋值三处重复代码。它要求参数必须带可见性修饰符、类型声明且名称一致,一行即完成属性定义与初始化,避免遗漏赋值,提升可维护性与类型推导准确性。
-
必须关闭宝塔所有自动CDN功能:删除反向代理规则、关闭非“强制HTTPS”的CDN选项、禁用防火墙中CDN回源白名单同步;CloudflareDNS需橙色云朵且A记录指向服务器公网IP;宝塔配置须保留原始Host头、禁用多余跳转,并确保Nginx正确解析X-Forwarded-For获取真实IP。
-
必须修改php.ini中session.save_path为绝对路径并赋予权限,如session.save_path="C:\phpEnv\sessions",同时确保IIS_IUSRS或SYSTEM用户有写入权限,重启PHP进程后生效。
-
User实体必须显式指定connection,如@ORM\Entity(connection="auth_db");自定义UserProvider需注入对应EntityManager并手动查询多库;角色表须与User同库,否则需改用非JOIN方式加载。
-
phpEnv不能直接安装ZooKeeper,它仅管理PHP版本与扩展;使用ZooKeeper需单独部署服务端并编译启用zookeeper.so扩展,且二者缺一不可。
-
DomPDF和Snappy生成PDF失败主因是字体配置、路径权限、子进程执行及HTML上下文隔离问题;需注册中文字体、绝对化资源路径、确认wkhtmltopdf路径与权限、校验PDF内容非空。
-
宝塔「强制HTTPS」失效主因是SSL证书未真正启用或Nginx未监听80端口;需确认证书状态为“已启用”且有效期正常,同时确保Nginx监听80端口并正确配置跳转规则与混合内容处理。
-
orderBy仅作用于主表字段,动态排序须白名单校验,关联字段排序需join或withCount,ID置顶用orderByRaw;firstWhere不参与排序。
-
安装路径不能含中文或空格,否则phpenv命令会失效;Windows用户应装到纯英文无空格路径如D:\phpenv,Linux/macOS需注意家目录权限及shell配置文件正确写入与重载。
-
cURL默认超时为0(永不超时),需显式设置CURLOPT_TIMEOUT和CURLOPT_CONNECTTIMEOUT;file_get_contents()超时须通过stream_context_create()配置,与php.ini设置无关;PHP-FPM和Nginx层超时会优先触发终止。
-
PHP中SSL/TLS握手失败大概率是OpenSSL版本过旧或协议协商不匹配,而非代码错误;需检查phpinfo()中OpenSSLLibraryVersion是否≥1.1.1、强制指定CURLOPT_SSLVERSION、配置正确CA证书路径,升级时须重编译PHP而非仅更新系统OpenSSL。
-
PHP的Spl数据结构类是一组内置、优化的数据结构实现,用于提升性能和可维护性。1.SplStack适用于后进先出场景如函数调用栈;2.SplQueue适用于先进先出场景如任务队列;3.SplHeap适合需快速获取最大/最小值的场景如排序;4.SplPriorityQueue基于堆实现优先级处理如任务调度;5.SplFixedArray适合固定大小数组节省内存;6.SplObjectStorage用于对象集合管理与状态跟踪如依赖注入。使用时应根据场景选择合适结构,注意内存分配、引用传递及类型约束,并通过基
-
Yii框架定时任务需通过Console控制器(继承yii\console\Controller,actionXXX方法)配合系统crontab实现,禁用config/console.php中非官方的task配置;crontab须用绝对路径、显式cd切换目录、完整重定向输出,并注意PHPCLI环境一致性。