分类: 编程语言
-
本文记录了使用 PHP-Xlswriter 导出 Excel 文件时,解决日期列格式显示为常规的问题。最初尝试在写入数据后覆盖单元格格式导致错位或内存溢出,后调整为先设置日期再插入数据并置空该列。最终方案改为在生成完整 Excel 文件后,直接使用 setColumn 方法整列设置日期时间格式,成功实现了预期的导出效果。
-
在 MySQL 8 中,针对 B 表缺少 A 表主键 ID 但存在其他两个字段的情况,需要基于这两个字段查询 A 表记录。文章尝试在 SQL 语句中将 in 条件用于多个字段,测试显示查询执行成功且结果符合预期。
-
本文针对使用 php-ext-xlswriter 导出 Excel 时遇到的 Class not found 报错进行排查,通过下载并配置扩展解决了依赖缺失问题。随后处理了文件创建失败和索引越界的异常,发现关联数组兼容性和文件名非法字符是导致错误的关键原因。最终通过替换文件名中的冒号并匹配正确的扩展版本,成功实现了 Excel 文件的正常导出。
-
本文记录了在 Laravel 9 中执行 Redis::set 写入 Carbon 对象时遇到的数据类型差异问题,对比了生产环境写入 Object 与测试环境写入日期时间字符串的不同表现。通过对比 .env 文件发现,差异根源在于客户端配置的不同,详细分析了 PHPRedis 扩展与 predis/predis 包在处理该操作时的具体区别,最终根据配置差异确定了问题成因。
-
针对PHP中插入MySQL的JSON字符串中文已被编码的问题,文章先尝试对字符串进行整体URL解码,经在线工具验证可行,代码实现后确认中文恢复正常。针对请求参数中仍有中文未正常显示的情况,查明是因使用json_encode编码导致,最终采用先解码再重新编码,并添加JSON_UNESCAPED_UNICODE参数,实现了以字面形式编码多字节Unicode字符,解决了显示问题。
-
本文记录了解决 Call to undefined function Termwind\ValueObjects\mb_strimwidth() 报错的处理过程。该问题通常是由于 PHP 环境缺少 mbstring 扩展导致的。解决方法是在 php.ini 配置文件中找到 extension=mbstring 并取消注释,随后保存配置并重启服务。操作完成后,系统不再报错,函数恢复正常调用。
-
本文介绍了在 Windows 10 中将 PHP 升级至 8.1 版本的操作步骤。首先下载 VS16 x64 Thread Safe 版本,安装 Visual C++ Redistributable for Visual Studio 2019 运行库。随后解压文件到指定目录,修改系统环境变量路径,复制配置文件并根据需求调整参数。文章还说明了下载并配置 Redis 扩展的方法,最终通过查看 phpinfo 验证升级结果。
-
在执行 composer install 时,因系统缺少 PHP 的 rdkafka 扩展导致报错。通过从 PECL 下载对应 PHP 7.4 版本的 php_rdkafka.dll 并配置 php.ini,重启 PHP 仍提示无法加载动态库。参考官方文档后,将 librdkafka.dll 移至 PHP 根目录,再次重启 PHP 并查看 phpinfo 确认扩展启用成功,最终 composer install 恢复正常运行。
-
本文针对 MySQL 5.7 数据库中查询 json 字段同一层级结构多个相同字段值的问题进行了说明。文章以提取 announcement-bar 下 blocks 中的 settings.text 为例,展示了使用通配符构建路径的 SQL 写法。该查询返回结果为数组,若数据不存在则返回 NULL。文中特别指出,路径中的 announcement-bar 必须加上双引号,否则会因 Invalid JSON path expression 报错。
-
在 PHP 7.4 开发中,为了从一维数组中准确筛选出符合 uri 格式的数据,直接使用 filter_var 函数进行校验时,会将 internal://policy_pages/29 这样的非标准链接包含在内,导致结果不符合预期。通过改用 parse_url 函数获取 URL 的 scheme 部分,并严格判断其是否为 http 或 https,成功过滤掉了内部协议数据,实现了对标准外部链接的准确提取。
