pdo_oci错误计算缓冲区大小的patch
pdo_oci已经很久没人更新了,有个bug存在很久了也一直没有修复。上次遇到了这个问题,老大发我了一个patch,这次又用到了,就顺手记下来。
报错信息
column XXX data was too large for buffer and was truncated to fit it in XXX
其问题是在计算变长字符集编码长度时计算不准确,导致缓冲区大小申请出错。修改pdo_oci源码解决。
oci_statement.c 532行:
col->maxlen = data_size;
修改为:
col->maxlen = ( data_size + 1 ) * sizeof(utext);
重新编译即可
544615260@qq.com
您好,能不能把你编译好的dll发到我邮箱,谢谢
我手上没有windows的编译环境,而且不同的php版本dll也对不上的