-
React项目部署到XAMPP需四步:设homepage为"/react"、BrowserRouter加basename="/react"、.htaccess配置RewriteBase/react/并重写至index.html、PHP接口放htdocs/api下且配CORS头。
-
宝塔Let’sEncrypt证书申请失败或HTTPS异常的主因是DNS未解析、80端口被占、权限不足、CDN干扰、Nginx未重载及泛域名配置不当;需逐项排查解析、端口、权限、DNSAPI、强制跳转、混合内容、定时任务与证书路径。
-
recode扩展无法在phpenv中直接启用,必须编译PHP时通过--with-recode参数启用;需先安装librecode0-dev或recode,再用CONFIGURE_OPTS="--with-recode"phpenvinstall重装PHP,并确保recode.so加载顺序在imap.so和mysqli.so之前。
-
PHP对象不能直接访问类常量,$obj::CONST_NAME是语法糖,本质为静态解析而非动态绑定;$obj->CONST_NAME会报错,因常量不属于实例属性。
-
字符串键名必须加引号,否则PHP会解析为常量导致E_NOTICE;foreach中修改数组需谨慎使用引用并unset;isset与empty对null等假值判断逻辑不同;数组展开需确保一维数值且位置匹配。
-
array_filter会误删"0"或0因其默认将所有布尔值为false的元素视为“空”,包括null、""、0、"0"等;通过自定义回调函数可精准控制过滤逻辑,如使用$value!==null保留非null值,或结合$value!==''排除空字符串但保留"0";该函数默认保留原始键名,适用于关联数组处理,若需重新索引可用array_values。关键在于避免隐式类型转换,明确指定过滤条件以确保数据准确性。
-
PHP运算符结合性规定同优先级运算符的计算顺序:多数二元运算符(如+、-、*、/、=、.=)左结合,**和赋值类运算符右结合,三元运算符?:左结合但需括号避免弃用警告。
-
PHP不应直接管理密钥,必须依赖外部可信边界:生产环境用KMS或本地私钥+独立守护进程,开发环境用内存临时密钥;杜绝硬编码、环境变量泄露及.git提交密钥。
-
PHP8.1的显式八进制是字面量语法(如0o755),非函数;0o开头即被解析为八进制整数,取代已弃用的前导零写法(如0755),提升语义清晰性与静态分析支持。
-
CLI参数按空格切片后依序注入控制器方法形参,支持默认值;含空格值须用英文双引号包裹;所有参数均为字符串,无自动类型转换;$_GET和$this->input->get()在CLI下始终为空,因未设置QUERY_STRING。
-
PHP中确定数组元素类型的方法有五种:一、gettype()返回类型名称;二、var_dump()显示类型与结构;三、is_*函数布尔判断;四、PHP8.0+的get_debug_type()简洁准确;五、serialize()逆向解析(不推荐)。
-
Laravel升级必须逐主版本迭代(如9→10→11),不可跨版本直升;需严格匹配PHP版本(如v11要求^8.2)、同步更新所有laravel/*生态包、手动处理结构变更(如目录移除、中间件重构)及废弃API(如Response::json())。
-
Z-Score标准化通过计算均值和标准差,将数据转换为均值为0、标准差为1的分布,适用于正态分布数据;Min-Max标准化利用最小值和最大值将数据线性映射到[0,1]区间,适合边界已知且无异常值的情况。
-
MySQLmax_allowed_packet默认值过小会导致大BLOB插入失败,需同时修改my.ini中[mysqld]和[client]节的max_allowed_packet(如64M),重启MySQL服务,并在PHP层设置mysqli或PDO对应限制,再检查内存、超时及Web服务器配置。
-
宝塔面板内网离线安装需在外网机器用install_6.0.sh-d下载完整资源,严格匹配OS版本与架构,构建本地YUM仓库后按序安装RPM,并手动部署插件及配置依赖库、SELinux和IP白名单。