-
CodeIgniter不支持MySQL全文索引原生封装,like()仅为模糊匹配,性能差且无词干、权重、布尔逻辑等特性;必须手动建FULLTEXT索引并用query()执行MATCH...AGAINST原生SQL,注意索引类型、字段限制、参数绑定与混合查询规范。
-
一对一关联不支持聚合,因hasOne/belongsTo返回单实例而非集合;需用join或子查询实现,如User::join('profiles',...)->selectRaw('SUM(...)')->value()。
-
XAMPP不支持原生多端口Flask部署,因Apache单进程模型下所有VirtualHost共享同一Python解释器,易致应用冲突、状态污染与模块缓存错误;必须为每个端口配置独立WSGIDaemonProcess并严格匹配mod_wsgi路径、Python版本及虚拟环境,且wsgi.py仅导出application、禁止顶层运行代码。
-
Hyperf在Windows上需通过WSL2运行,macOS推荐本地部署并禁用Spotlight索引,Linux应显式指定FswatchDriver并调优inotify;跨平台统一靠环境变量驱动配置与路径规范。
-
gd_imagecopyresampled裁剪缩放必须先创建目标资源,不能原地操作;需用imagecreatetruecolor创建目标画布,再调用该函数复制指定区域,否则图像损坏或变黑。
-
开启GeneralQueryLog需先确认配置文件路径(如C:\phpEnv\mysql\my.ini),在[mysqld]段添加general_log=ON、general_log_file=C:/phpEnv/mysql/logs/general.log、log_output=FILE,手动创建目录并赋予SYSTEM和Administrators写权限,重启MySQL服务后执行SHOWVARIABLESLIKE'general_log%'验证生效。
-
RoadRunner更稳更省资源,尤其适合容器化与长周期运行;Swoole是WebSocket和协程异步任务的唯一选择。因RoadRunner由Go管理Worker、强制max_jobs重启防泄漏、Go层处理TLS/HTTP/2,而Swoole易受扩展兼容性与协程调度异常影响,连接池配置更复杂且预热不彻底。
-
imagejpeg()的参数控制质量(65–80推荐),imagepng()的参数才是压缩级别(0–9,设9可减体积15%–40%);必须先缩放再压缩,GD处理WebP需PHP8.0+且函数存在,大图须防内存溢出并及时imagedestroy()。
-
PHP中json_encode()慢的主因是默认执行冗余检查(编码检测、循环引用、浮点精度等),而非函数本身低效;应预处理数据(转UTF-8、移除资源/闭包)、启用JSON_UNESCAPED_UNICODE等标志、流式输出大数据、开启OPcache并禁用Xdebug。
-
PHP不支持真正多线程,推荐Web场景用Swoole协程实现高并发I/O,CLI批量任务用pcntl_fork()多进程,简单HTTP并发可用curl_multi_init()或amphp。
-
PHP数组过滤推荐使用array_filter()函数,它根据回调函数返回值筛选元素,保留使回调返回true的项,默认保留原键名,可结合array_values()重新索引;若省略回调,则移除被视为false的元素。
-
判断PHP数组元素存在性及定位需依需求选函数:一、in_array()判存在,返回布尔值;二、array_search()返首个键名;三、array_keys()返所有匹配键;四、foreach手动遍历支持自定义逻辑;五、array_filter()提取匹配子数组。
-
PHP密码存储必须用password_hash(),禁用md5/sha1;真加密用openssl_encrypt()(如AES-256-CBC),禁用ECB模式;base64_encode()仅为编码,无保密性。
-
phpenv是纯命令行工具,无GUI、不打包Web服务器,安装仅三步:gitclone、配置shell文件、source重载;其核心机制依赖shim拦截,失效时应检查whichphp路径和phpenvinit是否生效。
-
PHPEnv下延长session有效期需同步配置PHP-FPM的php_admin_value、确认存储后端(文件需可写且磁盘充足,Redis需设expire参数)、并重启对应FPM服务,仅改php.ini无效。