PHP 4.0 Bug #5609: unable to store BLOBs in database
| From: | ernst at benews dot com | Date: | Fri, 14 Jul 2000 18:03:51 +0000 |
| Subject: | PHP 4.0 Bug #5609: unable to store BLOBs in database | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-24561@lists.php.net to get a copy of this message | ||
From: ernst@benews.com
Operating system: RedHat Linux 6.2
PHP version: 4.0 Release Candidate 2
PHP Bug Type: Oracle related
Bug description: unable to store BLOBs in database
The problem occurs with the following script. It's a slightly modified version of that in the
docs:
<?php
if(!isset($lob_upload) || $lob_upload == 'none'){
?>
<form action="upform.php" method="post"
enctype="multipart/form-data">
Upload file: <input type="file" name="lob_upload"><br>
<input type="submit" value="Upload"> - <input
type="reset">
</form>
<?php
} else {
// $lob_upload contains the temporary filename of the uploaded file
OCIInternalDebug(1);
$conn = OCILogon("user", "pass");
$lob = OCINewDescriptor($conn, OCI_D_LOB);
$stmt = OCIParse($conn,"INSERT INTO tblPersonInfo (PersonID, Picture) VALUES(4,
EMPTY_BLOB()) RETURNING Picture INTO :banaan");
OCIBindByName($stmt, ':banaan', &$lob, -1, OCI_B_BLOB);
OCIExecute($stmt, OCI_DEFAULT);
if($lob->savefile($lob_upload)) {
OCICommit($conn);
echo "Blob successfully uploaded\n";
}else{
echo "Couldn't upload Blob\n";
}
OCIFreeDesc($lob);
OCIFreeStatement($stmt);
OCILogoff($conn);
}
?>
The problem is that the blob never gets stored, and the script times out after a long time (2
minutes+). During that period, no output whatsoever is sent to the browser. Also, the debugging info
generated by OCAInternalDebug() doesn't show up in apaches error.log.
When I comment out the OCIExecute statement, the script does return with output, although the data
never gets stored in the db (of course).
Here's a description of the system configuration:
webserver:
redhat linux 6.2
apache + openssl + php4pl2
oracle client 8.1.5
db server
hpux
oracle 8.0.5
The connection to the database is working fine. 'Normal' inserts also work fine.
Any tips are appreciated.