-
phpenv本身不管理MySQL,仅负责PHP版本切换;MySQL是独立服务,Windows下需用netstart/stop或services.msc操作,Linux/macOS下用systemctl或service命令,日志在data目录hostname.err中。
-
XAMPP的MySQL默认wait_timeout为28800秒,本地开发应编辑C:\xampp\mysql\my.ini中[mysqld]段,添加wait_timeout=600和interactive_timeout=600,保存后重启MySQL服务并验证;SETGLOBAL无效且不持久。
-
PHP自定义数组排序需用usort()、uasort()或array_multisort():usort()用于索引数组升序;按绝对值排序在回调中用abs();uasort()保留关联键名;多维数组按子键排序直接访问字段;array_multisort()支持多条件稳定排序。
-
GetOneTypeImg返回空主因是typeid无效、typeimg字段为空或未启用、后台未上传封面图;模板中{dede:field.typeimg/}不自动补路径,需加function或手动拼接;查库需用内置对象并清洗数据,路径拼接错误常见双斜杠404。
-
PHP生成PDF需依赖tcpdf、mpdf、dompdf等外部库;tcpdf需显式加载中文字体并避免writeHTML;mpdf仅支持部分CSS2.1属性;dompdf处理大表格易内存溢出;导出时须严格控制HTTP头与输出缓冲。
-
XAMPP本身不自带图床功能,但可为兼容的PHP图床程序(如Chevereto、imgurl、Lychee)提供Apache+PHP+MySQL运行环境;需按图床要求调整PHP版本、启用mod_rewrite、调高上传限制、设置utf8mb4字符集并修复目录权限。
-
Hyperf生产启动慢主因是autoload未优化:需用composerinstall--no-dev--optimize-autoloader--classmap-authoritative,并手动配置autoload.classmap包含app/等目录,同时强制启用OPcache(含CLI)与APCu。
-
“权限不足”提示但文件上传成功,实为临时文件读取失败,需检查open_basedir、upload_tmp_dir权限及SELinux/AppArmor限制,并验证MySQLINSERT权限与CSV编码、换行符兼容性。
-
App::setLocale()必须在请求早期调用,否则视图中__()和@lang()会读取旧语言环境;语言文件目录需严格遵循resources/lang/{locale}格式,JSON文件可直放但键名不能含点号;中间件顺序必须在EncryptCookies之后、AddQueuedCookiesToResponse之前,且CLI命令需清除config:cache才生效。
-
最稳妥的是用Redis的ZSET存原始排序数据(score=排序字段值,member=主键ID),再配合ZRANGE+ZCARD做分页和总数统计——前提是排序字段唯一且稳定。
-
PHP垃圾回收依赖引用计数和周期性垃圾收集器。引用计数通过zval的refcount跟踪变量使用,为0时立即释放内存;但无法处理循环引用,如数组或对象相互引用导致内存泄漏。自PHP5.3起引入根缓冲区与周期回收机制,将可能循环的变量加入缓冲区,定期执行标记-分析-清理流程,识别并回收不可达的循环结构。开发者可通过减少全局变量、主动断开引用、调用gc_collect_cycles()等手段优化回收效果,结合gc_enabled()和gc_status()监控状态,实现高效内存管理。
-
模型层$hidden是硬开关,仅在自动序列化(如response()->json())生效;dd($user->toArray())绕过该逻辑,显示裸数组;关联模型需单独设$hidden;$visible优先级高于$hidden;动态字段推荐$appends+访问器;toJson()返回{}多因模型为null;withoutRelations()可剔除已加载的关联数据。
-
Symfony闪存消息是“存一次、读一次、清空”的会话通知机制,需重定向前调用addFlash()并在模板中手动渲染app.flashes(),不可自动弹出或替代表单字段错误。
-
PHP获取当前时间最常用可靠方式是date(),它自动调用time()返回本地格式化字符串;需显式设置时区避免警告;时间戳场景优先用time();复杂时区或日期运算必须用DateTime类。
-
Hyperf连接Redis集群必须使用RedisCluster而非Redis,因hyperf/redis仅支持单机模式;多键操作需用{}哈希标签确保共槽,如{user:1001}:profile;前缀配置无效,须业务层显式控制标签。