php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #67 Oracle access gives "document contains no data"
Submitted: 1998-02-12 15:12 UTC Modified: 1999-06-20 20:07 UTC
From: dhancock at arinc dot com Assigned:
Status: Closed Package: Oracle related
PHP Version: 3.0b4 OS: Solaris 2.5.1
Private report: No CVE-ID:
 [1998-02-12 15:12 UTC] dhancock at arinc dot com
I'll append a script that generates the error, and show
what my configure line looks like.  I'm not using php3.ini.

Basically, I've compiled and installed PHP 3.0b4 as a module
in Apache 1.3b3.  I've done the fixes for Bug id #1.

Apache/PHP works, except with an Oracle retrieval.  Simple
PHP scripts work fine, but when I run a simple Oracle
retrieval, I get a "Document contains no data" message from
the browser.  I get some nasty looking signals showing up
in the error log, too.

I "fell back" to PHP 3.0b3, and this problem goes away,
but then I start getting memory leaks showing up in the
error log:

[Thu Feb 12 14:32:37 1998] [error]
(9)Bad file number: PHP3 memory leak detected:  
52 bytes from functions/basic_functions.c:269

[Note:  The Oracle retrieval still works.]

My configure line:
==================
./configure --with-apache=/vcomm/cots/apache
--with-oracle=/oracle/oracle/app/oracle/product/7.3.3

Log error messages similar to:
==============================
[Thu Feb 12 14:17:39 1998] [notice]
httpd: caught SIGSEGV, attempting to dump core in
/vcomm/cots/apache

Here's a script that causes the "Document contains no
data" message (and apparently also the SIGSEGV message).
It's taken from the documentation, and as I mentioned,
works OK (with a memory leak) in 3.0b3.

<HTML><HEAD></HEAD>
<BODY>
<?
PutEnv("ORACLE_HOME=/oracle/oracle/app/oracle/product/7.3.3");
PutEnv("ORACLE_SID=devt");
$conn = Ora_Logon("XXXXXX", "XXXXXX");
if ($conn < 0) {
    echo("Could not connect to Oracle.\n");
    exit;
}
$cursor = Ora_Open($conn);
if ($cursor < 0) {
    echo("Could not open a cursor.\n");
    Ora_Logoff($conn);
    exit;
}
Ora_CommitOff($conn);
$query = "SELECT * FROM mime_types";
if (Ora_Parse($cursor, $query) < 0) {
    echo("Parse failed!\n");
    Ora_Logoff($conn);
    exit;
}
$ncols = Ora_Exec($cursor);
echo "<P>\n";
echo "<TABLE BORDER=1 CELLSPACING=0>\n";
while (Ora_Fetch($cursor) == 1) {
    $i = 0;
    echo "<TR>\n";
    while ($i < $ncols) {
     /* Get data for a single column of currently fetched row. */
     $col = Ora_GetColumn($cursor, $i);
        echo("<TD>$col</TD>\n");
     $i++;
    }
    echo("</TR>\n");
}
echo "</TABLE>\n";

Ora_Close($cursor);
Ora_Logoff($conn);
?>
</BODY></HTML>

Patches

Add a Patch

Pull Requests

Add a Pull Request

 
PHP Copyright © 2001-2014 The PHP Group
All rights reserved.
Last updated: Sat Apr 19 04:01:55 2014 UTC