-
禁用Yii默认HTML异常渲染需重写errorHandler组件并指定errorAction为API错误处理动作,使所有异常返回标准JSON格式{code,message,data},并通过状态码映射表统一转换HTTP状态到业务code。
-
Yii框架RESTful接口URL美化与去除index.php需同时满足Web服务器重写生效(如Apache启用mod_rewrite、AllowOverrideAll、正确.htaccess)和urlManager配置正确(enablePrettyUrl=true、showScriptName=false、使用yii\rest\UrlRule),缺一不可。
-
判断数组元素不为空格需结合trim()或ctype_space()函数,推荐使用trim()去除首尾空白后判断是否为空,如:array_filter($arr,function($v){returntrim($v)!=='';}),可有效过滤空格、制表符、换行等空白内容。
-
阿里云短信PHPSDK必须使用alibabacloud/tea-openapi和dysmsapi-20170525新版,禁用已废弃旧版;安装需Composer、PHP≥7.2、开启allow_url_fopen;参数须严格匹配控制台配置,发送后必须校验响应Code而非HTTP状态码。
-
isset()检测变量是否已声明且非null,empty()将0、"0"、false、""、[]等均判为“空”;前者适用于检查$_POST字段是否存在,后者用于业务上过滤无意义值但需警惕对0和"0"的误判。
-
Eloquent事务由DBfacade控制而非模型自身实现,应优先使用DB::transaction()自动管理回滚与嵌套;手动事务需严格配对并检查transactionLevel();跨库、队列、HTTP等操作不受事务保护,须用afterCommit()或补偿机制。
-
PHP数组排序函数选择关键看是否保留键名及排序依据:sort/asort/ksort分别用于数值升序重键、关联数组按值升序保键、按键名升序;对应降序和自定义排序有rsort/arsort/krsort及usort/uasort/uksort;多维数组优选array_multisort;中文排序须用mb_strcoll并设置locale。
-
Yii1.x不支持原生layout嵌套,正确做法是用视图继承+占位符传递:主layout中调用$this->beginContent()包裹子layout,子layout通过echo$content插入最终视图。
-
phpEnv是国产Windows专用PHP集成环境,非官方工具也非phpenv封装版,官网为https://www.phpenv.cn/,最新版v5.x含PHP7.4/8.2/8.3等离线版本,所有操作通过GUI完成,不提供命令行phpenv命令。
-
configure时必须加的最小安全参数集PHP8.5尚未发布(截至2024年中,最新稳定版是8.3.11,8.4处于alpha阶段),所以不存在官方8.5源码。如果你看到所谓“php8.5”源码包,大概率是测试分支、第三方魔改版或误标版本。强行编译会遇到configure:error:unrecognizedoptions或链接失败——因为很多新选项还没进configure脚本,或依赖的扩展(如openssl、oniguruma)版本不匹配。实操建议:先运行
-
PHP生成和解析JSON数据主要通过json_encode()和json_decode()函数实现。一、生成JSON数据使用json_encode(),常用参数包括JSON_UNESCAPED_UNICODE防止中文转义,JSON_PRETTY_PRINT格式化输出;对象需实现JsonSerializable接口才能保留结构。二、解析JSON数据有三种方式:1.使用json_decode($json,true)转为关联数组;2.不传第二个参数或设为false转为stdClass对象;3.处理嵌套结构时需正
-
宝塔5.9及更早备份包不兼容8.x+版本,表现为校验通过但跳过所有项目;需用tar-tzf检查路径是否含panel_backup/site/等结构,否则须用新版面板重新备份。
-
opcache.enable=1是启用OPcache的前提,但JIT需显式配置opcache.jit(如1255或tracing)、opcache.enable_cli=1(CLI验证必需)及足够大的opcache.jit_buffer_size(推荐256M),并确保opcache.so加载顺序正确、无xdebug等干扰扩展。
-
确认PHP是否卸载干净需先执行php-v,再检查/usr/bin/php等路径残留,用which、whereis、find扫描;依安装方式分别清理apt/brew/编译残留;删除Apache/Nginx模块;清除shell哈希及PATH中PHP路径;最后验证php-v报commandnotfound且php--ini无输出。
-
phpEnv中OPcache未生效是因为未加载opcache.so扩展,需在Apache专用php.ini中启用zend_extension=php_opcache.dll、设opcache.enable=1及调优参数并重启Apache。