-
PHPjson_encode()默认格式化输出,需禁用JSON_PRETTY_PRINT并添加JSON_UNESCAPED_UNICODE等标志精简;gzip压缩效果远优于PHP层优化,应优先配置Web服务器启用gzip并支持application/json。
-
多态字段名必须为“关系名_id/type”,如commentable_id/commentable_type,不可自定义;morphTo()参数顺序为(关系名,id字段,type字段);未配morphMap时type存完整类名,需手动映射并迁移旧数据;预加载只能用关系名commentable而非模型名。
-
Workerman启动后无法连接ws://localhost:2346的根本原因是默认不支持WebSocket协议解析,需启用WebServer模式并设置Worker::setProtocol('websocket'),同时确保Nginx透传Upgrade和Connection头,浏览器URL使用ws://且端口一致。
-
可采用四种方法实现布隆过滤器:一、手动用位图+多哈希函数;二、基于RedisBloom模块的分布式实现;三、使用bloom-filter-phpComposer包;四、利用GMP扩展优化超大位图。
-
XAMPP8.0+版本已彻底移除calendar扩展,因PHP8.0正式删除该废弃模块;调用cal_days_in_month()等函数会报错,无法通过php.ini启用或手动添加dll解决,应改用DateTime类等原生方法替代。
-
PHP数组转float有五种方法:一、array_map+floatval适合一维数组;二、foreach手动转换可加判断;三、array_walk原地修改省内存;四、递归函数处理多维数组;五、json_encode/decode利用JSON解析特性转换。
-
PHP后端开发需掌握Web服务器配置(如Nginx+php-fpm)、安全数据库操作(预处理防注入、ORM避N+1)、接口防护(CSRF、文件上传校验)、部署排查(Composer依赖、日志与内存溢出)等实战能力。
-
首先确保服务器安装了Web服务器、PHP及数据库;接着上传并解压源码,配置Web服务器指向项目目录,修改数据库连接信息并导入数据表结构;最后启用必要PHP扩展与错误提示,重启服务后访问网站完成部署。
-
XAMPP的MySQL默认wait_timeout为28800秒,本地开发应编辑C:\xampp\mysql\my.ini中[mysqld]段,添加wait_timeout=600和interactive_timeout=600,保存后重启MySQL服务并验证;SETGLOBAL无效且不持久。
-
PHP处理JSON数据核心是json_encode()和json_decode();中文乱码需加JSON_UNESCAPED_UNICODE,解析后统一用数组避免对象访问错误,必须配合json_last_error()检查错误,BOM头和编码不一致需预处理,嵌套访问前须做存在性判断。
-
改了hosts仍打不开myproject.test,主因是未以管理员权限保存、DNS缓存未清、Apache未重启或域名后缀不规范;必须用127.0.0.1+.test后缀,确保hosts路径正确、格式无空格,并执行ipconfig/flushdns及重启Apache。
-
Hyperf连接Redis集群必须使用RedisCluster而非Redis,因hyperf/redis仅支持单机模式;多键操作需用{}哈希标签确保共槽,如{user:1001}:profile;前缀配置无效,须业务层显式控制标签。
-
json_encode和json_decode的难点在于静默失败,根源是编码不一致、非法类型输入、JSON格式错误及错误处理缺失;需用mb_convert_encoding、json_last_error_msg()、JSON_THROW_ON_ERROR等精准定位问题。
-
PHP时区设置错误最直接的表现是date()、strtotime()、DateTime等函数返回的时间和你预期不一致,或者抛出Warning:date():Itisnotsafetorelyonthesystem'stimezonesettings警告——这说明PHP根本没拿到有效时区,正fallback到系统默认(通常不准)。为什么date_default_timezone_set()必须在所有时间操作前调用这个函数不是“设一次就全局生效”的配置项
-
phpEnv非Wallabag官方支持方案,因其PHP版本旧、扩展缺失、无CLI工具及数据库管理,易致空白页、500错误、路由未加载、抓取失败等问题;需手动启用扩展、修改php.ini、正确配置DocumentRoot并执行安装命令。