-
ZipArchive扩展依赖libzip库,CentOS7等系统自带libzip版本过低(如0.10.x),PHP7.4+要求≥0.11且排除问题版本;需卸载旧包、从libzip.org下载1.9.2源码编译,并通过PKG_CONFIG_PATH或--with-libzip=显式指定路径确保PHPconfigure正确识别。
-
phpEnv默认不自动处理HTTP→HTTPS跳转,需在Nginx模式下手动添加独立的80端口server块并配置return301规则,确保server_name与实际域名一致、SSL证书已加载,且修改后必须点击面板“重载Nginx”生效。
-
应使用LaravelPipeline机制解耦多阶段请求处理:一、手动构建Pipeline处理非HTTP请求;二、复用中间件机制处理HTTP请求;三、通过容器解析类支持依赖注入;四、用闭包实现无依赖轻量逻辑;五、返回响应中断流程。
-
PHP没有MAIL常量,所有mail相关配置均为php.ini中的INI设置,非语言级常量;SMTP等是配置键名,PHPMailer常量属第三方库,与原生mail()无关。
-
Yii框架无内置“延迟加载”,但可通过defer/async控制JS加载、AssetBundle批量配置jsOptions、AR预加载with()及动态插入script实现非关键资源不阻塞首屏。
-
CheckSpelling是Apachemod_speling模块提供的URL拼写纠错功能,多端口下易失效因其仅在各<VirtualHost>块内单独启用才生效,未逐端口配置则对应端口不触发纠错。
-
phpEnv实为phpStudy旧称,其安装Swoole本质是在Windows版phpStudy中手动匹配DLL:需按PHP版本、TS/NTS、架构下载对应php_swoole.dll,放入ext目录,php.ini中添加extension=php_swoole,重启服务并分CLI/Web双环境验证。
-
PHP类属性默认值仅支持标量、数组、null和静态表达式,如null、123、"hello"、[1,2]、self::STATUS_ACTIVE;不支持new、函数调用等动态值。
-
$_ENV默认为空,因php.ini的variables_order默认不含E;启用需设为"EGPCS"并重启服务;getenv()更可靠,直接读进程环境变量,且Docker/K8s中同样有效。
-
ThinkPHP多数据库连接关键在键名、type、调用方式三者严格对齐:键名须小写+下划线(如'mysql_read',禁用点号或大写),每个连接必须显式声明'type'(如'mysql'),Db::connect()参数必须为配置键名而非数据库名或模型名,传错即抛异常。
-
需在模型中设置protected$createTime='created_at';protected$updateTime='updated_at';并确保protected$autoWriteTimestamp=true;同时字段必须在$schema中声明或表结构存在,否则时间戳不会写入。
-
PHP8中mysqli默认不抛异常,仍需手动启用report_mode;PDO自8.0起默认ERRMODE_EXCEPTION。mysqli_connect()失败时强制抛异常,后续操作则严格依赖mysqli_report()设置。
-
真端口冲突需先查日志确认:末尾出现“Can'tstartserver:BindonTCP/IPport”才是,否则应优先修复配置、路径或权限问题;改my.ini端口须满足路径正确、位于[mysqld]段、UTF-8无BOM三条件。
-
phpenv是类rbenv的命令行PHP版本管理工具,支持多版本共存、项目级自动切换及CI/CD一致;PHPEnv则是Windows图形化集成环境,不支持新版PHP及语义化切换。
-
Blade模板中不应直接调用app()->make()获取服务,因其导致硬编码、无法利用容器单例/自动解析/环境切换,且每次渲染重复解析影响性能;应通过View::share()、视图Composer或自定义Blade指令配合容器绑定来解耦复用。