ID: 33283 Updated by: [EMAIL PROTECTED] Reported By: david dot prusak at copart dot com -Status: Open +Status: Feedback Bug Type: PDO related Operating System: * PHP Version: 5.1-b1 New Comment:
That is not the correct configure line to get PDO ODBC driver enabled, try reading the ./configure --help output.. Previous Comments: ------------------------------------------------------------------------ [2005-06-14 02:06:09] david dot prusak at copart dot com When I installed the link you provided on my Windows machine, php/apache starts, but I get an error "Unable to load dynamic library 'C:\php\ext\php_pdo.dll' - the specified procedure could not be found. This also occurs with php_pdo_odbc.dll On my solaris machine, configure doesn't work. It's informing me that the IBM_DB2 environment wasn't set, but I did run it and it is set. ./configure --with-apache2=../httpd-2.0.53 --prefix=/www/php --with-mysql=/usr/local/mysql --with-gd=/usr/local --with-apxs2=/www/apache/bin/apxs --with-config-file-path=/www/php/etc --with-ibm-db2=/export/home/db2inst1/sqllib/ checking for Adabas support... no checking for SAP DB support... no checking for Solid support... no checking for IBM DB2 support... ./configure: !: not found no configure: error: build test failed. Please check the config.log for details. You need to source your DB2 environment before running PHP configure: # . $IBM_DB2/db2profile configure:63159: checking for IBM DB2 support configure:63230: gcc -o conftest -g -O2 -D_POSIX_PTHREAD_SEMANTICS -R/usr/ucbl ib -L/usr/ucblib -R/usr/local/lib/gcc/sparc-sun-solaris2.9/3.4.2 -L/usr/local/li b/gcc/sparc-sun-solaris2.9/3.4.2 -R/usr/local/lib -L/usr/local/lib -R/usr/local/ mysql/lib/mysql -L/usr/local/mysql/lib/mysql conftest.c -L/export/home/db2inst1/sqllib//lib -ldb2 -lmysqlclient -lgd -lresolv -lm -ldl -lnsl -lsocket -lgcc -lxml2 -lz -lico nv -lm -lsocket -lnsl -lxml2 -lz -liconv -lm -lsocket -lnsl 1>&5 configure: failed program was: #line 63219 "configure" #include "confdefs.h" char SQLExecute(); int main() { SQLExecute(); return 0; } --David ------------------------------------------------------------------------ [2005-06-10 18:39:15] david dot prusak at copart dot com Well, I installed all this on my solaris box. Accessing the same page, I get this in my apache error.log [Fri Jun 10 09:29:03 2005] [notice] child pid 19516 exit signal Segmentation fault (11) Removing the "prepare" doesn't segfault apache. The behavior is identical to the windows version. ------------------------------------------------------------------------ [2005-06-10 17:22:03] david dot prusak at copart dot com No, adding that didn't stop the GPF, sorry. ------------------------------------------------------------------------ [2005-06-09 23:59:47] [EMAIL PROTECTED] If you add: $stmt = null; $dbh = null; to the end of your script, does the segfault go away? ------------------------------------------------------------------------ [2005-06-09 21:26:39] david dot prusak at copart dot com Oops sorry about that. This fails with a gpf: <?php try { $dbh = new PDO('odbc:DATABASE', 'USER', 'PASS') $stmt = $dbh->prepare("SELECT * FROM TABLE"); } catch (Exception $e) { echo "Failed: " . $e->getMessage(); } ?> While this works just fine and prints "Connected", <?php try { $dbh = new PDO('odbc:DATABASE', 'USER', 'PASS') print "Connected\n"; } catch (Exception $e) { echo "Failed: " . $e->getMessage(); } ?> When I use exec, I don't get the GPF, but I'm also not getting the correct results. When trying to query a fake table, I don't get an error. When I query the correct table, I don't get a count. When I put in an incorrect database, user or password, I do get the correct error. So that tells me that I can connect to the database. <?php try { $dbh = new PDO('odbc:DATABASE', 'USER', 'PASS') print "Connected<br>"; $count = $dbh->exec("SELECT * FROM FAKETABLE"); print "Count: $count"; } catch (Exception $e) { echo "Failed: " . $e->getMessage(); } ?> I did verify the php.ini is correct. I put in a typo in the ini file to see if Apache will err on start up and it did. (brute force method :) ) Hope that's not too much information. --David ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/33283 -- Edit this bug report at http://bugs.php.net/?id=33283&edit=1