-
phpEnv默认不启用mysqli扩展,需手动取消php.ini中extension=mysqli(Linux/macOS)或extension=php_mysqli.dll(Windows)的注释,确认extension_dir路径正确,重启Web服务或PHP-FPM后,通过php-m、phpinfo()和测试代码验证生效。
-
必须分别设置CURLOPT_CONNECTTIMEOUT_MS(如3000)和CURLOPT_TIMEOUT_MS(如10000)以实现双超时,仅用秒级选项或file_get_contents无法精确控制连接阶段超时,且需通过curl_errno区分CURLE_COULDNT_CONNECT与CURLE_OPERATION_TIMEDOUT。
-
ZendGuardLoader仅支持PHP5.2–5.6x86架构,PHP7.0+因ZendEngine重构彻底废弃该扩展;启用需用zend_extension、匹配架构与ZTS模式,并验证php-m|grepzend及.zend文件实际解密效果。
-
PHP接口乱码主因是文件编码非UTF-8无BOM、Content-Type响应头缺失或错误、MySQL连接及表字符集不一致;需统一为UTF-8无BOM,设header('Content-Type:application/json;charset=utf-8'),执行SETNAMESutf8mb4,并逐层验证输出字节。
-
PHP运算符结合性规定同优先级运算符的计算顺序:多数二元运算符(如+、-、*、/、=、.=)左结合,**和赋值类运算符右结合,三元运算符?:左结合但需括号避免弃用警告。
-
PHP扩展未加载导致CodeIgniter数据库连接失败,需确认php.ini路径、extension_dir、扩展文件名及版本匹配,重启Apache并验证扩展是否生效,MySQL8.0+认证协议不兼容时需降级用户认证方式或升级PHP。
-
宝塔插件安装失败主因是HTTPS校验失败、CDN路径失效或出口IP被拦截;需分步排查:curl-k验证SSL、替换download.bt.cn为ghproxy、检查离线源JSON格式、核对并更新授权绑定IP。
-
PHP输出JSON时必须在任何输出前设置header('Content-Type:application/json;charset=utf-8'),否则默认text/html导致解析失败或CORS错误;含中文需显式声明charset;框架中应使用其响应方法而非手动设header。
-
数据库迁移是用PHP代码描述表结构变更,通过up()和down()方法实现可重复、可回退、跨环境执行;必须新建迁移处理变更,禁止修改已执行文件;migrate按时间戳顺序执行并记录批次,rollback按批回退,fresh会清空重跑但生产禁用。
-
phpEnv是Windows下开箱即用的PHP集成环境(含Apache、MySQL及多版本PHP),非Unix系的phpenv;官方唯一可信下载地址为https://www.phpenv.cn/,安装须关闭杀毒软件、路径不含中文或空格、以管理员身份首次运行,并通过“端口检测”解决80/3306端口占用问题。
-
在WordPress多站点环境下,子主题中注册的短代码(如[site_url])无法直接写在PHP模板文件中生效,必须通过do_shortcode()函数显式解析后输出。
-
PHP8.4API性能优化需五步:一、调优OPcache参数并重启;二、禁用xdebug等非必要扩展;三、改为static进程模型并限制内存;四、启用JIT编译并设合理阈值;五、优化Composer自动加载并预加载类文件。
-
宝塔命令行导出网站数据的正确入口是使用官方bt命令工具,通过bt10(网站备份)或bt11(数据库备份)子命令执行;需SSH登录root权限服务器,备份文件默认存于/www/backup/site/和/database/目录,权限为600。
-
PHP无法直接编译为Windows可执行文件,所谓“打包成exe”实为用第三方工具将PHP解释器、脚本及内置Web服务器封装成自解压程序;常见坑包括路径失效、扩展缺失、错误静默和杀软误报。
-
最稳妥方式是「主表+翻译表」结构,通过LEFTJOIN关联并用COALESCE实现locale→fallback→兜底字段的多语言查询,同时需统一IETF语言标签并建立(category_id,locale)联合索引。