-
mysqli_query()失败时需手动检查返回值,再用mysqli_error($conn)和mysqli_errno($conn)获取错误信息;PDO默认不抛异常,须设置PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION。
-
应禁用PHP错误信息直接显示以保障安全与体验:一、修改php.ini中display_errors为Off并设error_reporting,重启服务器;二、在脚本顶部用ini_set('display_errors','0')动态关闭。
-
需完成PHP解释器安装及基础环境搭建,具体包括:一、用XAMPP集成包快速安装;二、手动安装PHP并配环境变量;三、用Homebrew在macOS安装;四、用Docker容器化部署。
-
用substr_replace()做手机号、身份证号局部掩码最直接大部分脱敏需求其实就两类:保留头尾几位,中间打星。比如138****1234或110101******1234。PHP自带的substr_replace()是最轻量、最可控的选择,不用引入额外依赖,也不怕正则写错。常见错误是硬编码长度,比如直接写substr_replace($id,'****',6,8)——身份证号在不同地区位数可能有差异(老证15位、新证18位),手机号也存在虚拟运营商号段变化。必须先校验
-
最可靠方法是用正则非贪婪匹配单层括号内内容,如/(?<content>(1*))/;嵌套场景需循环扫描计数或改用手动解析,PCRE递归易栈溢出不推荐。()↩
-
用curl-is调用PHP接口并检查Content-Type和JSON格式是验证PHP正确返回JSON的最快方法,需确保PHP设置header、无BOM、无前置输出且json_encode后exit。
-
PHP提供五种文件批量导入数据库方法:一、file_get_contents+PDO批量插入,适合中小CSV/TXT;二、fgetcsv+MySQLi逐行导入,内存友好;三、SplFileObject+PDO事务,保障数据一致性;四、LaravelExcel处理XLSX;五、LOADDATAINFILE直连MySQL,性能最优。
-
应升级PHP版本以修复CVE-2023-3823、CVE-2024-4577等安全漏洞,操作包括:一、确认当前版本及漏洞影响;二、APT包管理器升级(Ubuntu/Debian);三、源码编译升级(CentOS/RHEL);四、验证功能与配置;五、准备回滚方案。
-
PHP读取PPTX图片需解压ZIP并解析XML关系映射:先用ZipArchive提取ppt/media/下图片,再通过slide*.xml及对应.rels文件中的r:embed与Target关联确定图片归属,重命名为slideN_imgM.ext;注意命名空间、流式读取防内存溢出、清理临时文件。
-
PHP自动加载机制通过spl_autoload_register()实现,当实例化未定义类时自动引入对应文件。1.将命名空间转换为路径,如App\Controllers\Home对应/app/Controllers/Home.php;2.使用Composer配合PSR-4规范,在composer.json中配置"autoload"映射,运行dump-autoload生成自动加载文件,提升项目可维护性与结构清晰度。
-
PHP无内置PDO连接池,但可通过持久连接、独立代理服务、常驻进程缓存或连接优化实现复用;核心目标是减少MySQL连接开销、提升高并发响应效率。
-
PHP执行流程生命周期分为五个阶段:模块初始化(一次)、请求初始化(每请求一次)、脚本执行(用户代码运行)、请求结束(释放请求资源)、模块关闭(进程退出前)。不同SAPI模式下复用机制不同。
-
默认array_filter($arr)是PHP7.4+最快去空方案,用C实现判空(等价!empty($v)),比手写循环快3–5倍,自动跳过键名、不重排索引,判定null、''、0、false、[]为空,但需确认是否符合业务语义。
-
$_SERVER['REMOTE_ADDR']不可信,因它仅表示请求抵达当前服务器的最后一个网络节点IP,而非用户真实出口IP;反向代理会使其变为代理内网或回环地址,直接用于风控等场景会导致误判。
-
搭建PHP网站需配置Apache/Nginx、PHP和MySQL环境;2.将源码上传至Web根目录并设置权限;3.创建数据库与用户,修改源码中数据库配置;4.启动服务并通过浏览器访问测试;5.调整php.ini启用必要函数与功能,确保正常运行。