I'm having a weird problem with PHP and the OCI-Lob::read method.
We have a page that connects to the database and pulls all the other fields out with no problems. However, it when it comes to the clobs, only a small portion of the actual data is retrieved.
The code uses:
$content= $features[14]->read(2000); echo $content;
And we're getting a tiny section of the field returned (only about 185 out of a total 553 chars). The really strange thing is that no matter what the length specified is - it still only returns a small section - and the cut off seems to actually be 549 bytes/chars - anything below the read(length) specified as 549 shortens the returned string (even though what is returned is far less the 549 chars) but anything over 549 makes no difference.
Additionally, we've used the OCI-Lob::load method with exactly the same results where only a portion of the actual contents of the clob field is returned.
Any ideas what could be causing this?
PHP version is 5.1.6
RDBMS is 11.2.0.4.2
Following shows OCI config via phpinfo()
oci8
OCI8 Support | enabled |
Revision | $Revision: 1.269.2.18 $ |
Active Persistent Connections | 1 |
Active Connections | 1 |
Oracle Instant Client Version | - 10.2
|
Temporary Lob support | enabled |
Collections support | enabled |
Directive | Local Value | Master Value |
oci8.default_prefetch | 10 | 10 |
oci8.max_persistent | -1 | -1 |
oci8.old_oci_close_semantics | 0 | 0 |
oci8.persistent_timeout | 60 | 60 |
oci8.ping_interval | 60 | 60 |
oci8.privileged_connect | Off | Off |
oci8.statement_cache_size | 20 | 20 |