-
ApacheURL重写失败主因是mod_rewrite模块未启用和AllowOverride未设为All,二者缺一不可且须按序配置:先启用模块(a2enmod或取消httpd.conf中#注释),再修改对应Directory块的AllowOverride为All,最后重启Apache。
-
慢查询核心在于“未走索引+扫描行数多”,而非单纯执行时间长;需用getRawSql()获取真实SQL再执行EXPLAIN分析type、key、Extra三列,警惕隐式类型转换、前导LIKE、函数包裹及联合索引顺序错误等索引失效场景。
-
PHP数组跨语言交互应优先用json_encode()替代serialize(),因其输出标准JSON且兼容Python/JS/Go等;但需规避资源、闭包及对象限制,中文加JSON_UNESCAPED_UNICODE,浮点数精度敏感时转字符串处理。
-
Yii框架本身不处理HTTPS协议切换,真正的HTTPS配置发生在Web服务器层(Nginx/Apache/IIS),Yii只需适配已加密的请求环境;Web服务器必须先完成SSL终止和301跳转,再通过正确透传HTTPS标识(如X-Forwarded-Proto)并配置request组件secure=true、动态baseUrl等,确保URL生成、Cookie传输及表单提交均走HTTPS。
-
必须先修改Listen端口,否则多PHP版本无法起步;两个Listen80冲突会导致Addressalreadyinuse错误;Windows下需端口隔离,如Listen8080与8081,并同步修改httpd-ssl.conf中SSL端口及VirtualHost绑定。
-
phpEnv中PDO默认已编译但pdo_mysql常被禁用,需手动启用php_pdo.dll和php_pdo_mysql.dll扩展、在DSN中显式指定charset=utf8mb4、并禁用PDO::ATTR_EMULATE_PREPARES以确保类型安全。
-
推荐使用paiza.IO、JDoodle、OneCompiler等无需下载的在线PHP编辑器,手机浏览器打开即可编写并实时运行PHP代码;建议启用桌面版网站模式、搭配外接键盘提升输入效率,适合学习调试但不适合连接数据库或长期部署。
-
CodeIgniter分页必须传入总记录数,因Pagination类不查库只生成链接;需先调用count_all()获取总数,再用uri->segment(4)取页码算offset,base_url须匹配路由路径,HTML标签配置要闭合。
-
set_exception_handler仅捕获未被try/catch拦截的Exception及其子类,对Error(如FatalError、ParseError)完全无效;PHP7+需配合set_error_handler和register_shutdown_function兜底处理。
-
YiiDebug工具栏需同时满足YII_DEBUG为true、YII_ENV_DEV环境、IP在allowedIPs白名单、debug模块已注册四条件;SQL面板空白常因enableLogging关闭或绕过YiiDB层;工具栏不显示多因资源加载失败或缓存未清除。
-
phpEnv不能安装Vault,因其仅管理PHP版本与扩展,不支持Vault二进制的下载、构建或集成;正确方式是在系统级安装Vault并确保PATH可达。
-
belongsTo必须写在「多」方模型中,hasMany必须写在「一」方模型中;外键名、主键名不匹配时需显式传参;预加载需用约束式with()或withCount();多对多关系需规范中间表名和外键名。
-
堡塔云WAF能有效拦截中小规模CC攻击,但需手动安装启用、配置动态CC防护策略,并避免与宝塔内置流量限制冲突。
-
CI4必须用view()函数显式传参实现布局,不可沿用CI3的$this->load->view()嵌套;CI3通过变量继承自动透传,CI4需手动传递如view('header',['title'=>$title]),否则变量未定义。
-
phpenv不管理php.ini,需手动定位并配置:运行php--ini查看LoadedConfigurationFile路径,若为(none)则从PHP源码复制php.ini-development或php.ini-production并重命名为php.ini。