分类: PHP
-
文章针对 curl 请求 https 网址时响应为 false 的问题进行了排查分析。通过 var_dump 检查请求返回值为 false 后,操作过程是在 php.ini 中配置 openssl.cafile 路径。重启 php-fpm 服务后,问题得到解决,不再响应 false,完成了对 curl 请求异常的修复。
-
本文针对 PHP 报错提示 exif_imagetype 函数未定义的问题,记录了在 LNMP 2.1 环境中安装并启用 PHP EXIF 扩展的操作流程。首先通过 phpinfo 确认扩展所在目录,随后进入 LNMP 安装目录运行 addons.sh 脚本安装 exif 扩展,完成安装后重启 PHP-FPM 服务使更改生效,最后通过查看 phpinfo 验证扩展已成功启用。
-
基于 LNMP 2.1 部署后接口响应 500,查看 Nginx 错误日志发现报错提示 open_basedir 限制生效,目标文件不在允许路径内。检查项目目录下的 .user.ini 文件确认配置问题,执行 chattr 命令解除文件锁定后尝试修改,但问题依旧。最终决定删除 .user.ini 文件,改为直接在 php.ini 中进行相关设置以解决该报错。
-
本文针对在 phpMyAdmin 登录时提示 mysqli::real_connect 认证方法未知的问题进行分析。由于 MySQL 8.0 默认使用 caching_sha2_password,而 PHP 7.3.9 环境不兼容,解决方法包括在 MySQL 配置文件中添加默认认证插件设置并重启服务,以及手动更新已有 root 用户的认证插件为 mysql_native_password。完成操作后,再次登录 phpMyAdmin 即可成功。
-
本文介绍了在 PHP 中利用 preg_replace 替换字符串敏感字符的方案。针对字符串格式可能不存在导致的问题,文章展示了初始代码实现。鉴于硬编码无法应对超过 10 种格式的扩展需求,最终将逻辑抽象为一个通用方法。通过替换前后的格式对比,验证了该方法符合预期。
-
文章记录了本地日志中出现的 preg_replace() Unknown modifier 错误。通过排查代码实现和打印日志,发现变量 $otherPattern 的值包含斜杠符号导致异常。由于该符号在正则定界符中具有特殊含义,遂对代码进行调整以避免解析冲突。最终日志不再报错,替换后的字符串格式符合预期,成功解决了该异常问题。
-
在使用 Spatie\QueryBuilder 时,请求参数中包含逗号会导致 SQL 报错,提示绑定参数数量不匹配。经检查,原因是默认将逗号分隔的字符串拆分为了多个参数。通过禁用逗号自动转换为数组的功能,确保生成的 SQL 占位符数量与绑定参数一致,最终解决了该报错问题并验证了查询结果的正确性。
-
在修改表字段类型的 PHP 实现中,发现在 Navicat for MySQL 中查看 DDL 未显示变化。即使关闭连接或数据库后重新打开,结果依然不变。最终关闭并重新启动 Navicat for MySQL 后,DDL 才更新并显示出变更。
-
针对在 Laravel 9 中验证符合 MySQL 字段类型 decimal(8,2) 的字段,本文展示了最终实现方案。通过测试 -4、0、5、999999.99、999999.990、999999.991、9999990.99、0.09、0.009、0.0000001 等多种输入值,验证结果显示失败与成功的结果均符合预期,确保了数值范围与精度的正确性。
-
本文记录了使用 PHP-Xlswriter 导出 Excel 文件时,解决日期列格式显示为常规的问题。最初尝试在写入数据后覆盖单元格格式导致错位或内存溢出,后调整为先设置日期再插入数据并置空该列。最终方案改为在生成完整 Excel 文件后,直接使用 setColumn 方法整列设置日期时间格式,成功实现了预期的导出效果。
