[PHP-BUG] Bug #61502 [NEW]: pdo_oci persistent connections broken with Oracle 9.2 servers
From: Operating system: Ubuntu 12.04 PHP version: 5.4.0 Package: PDO related Bug Type: Bug Bug description:pdo_oci persistent connections broken with Oracle 9.2 servers Description: I've only verified this in PHP 5.3.10, but I checked that the relevant code has not changed in git/master. Enabling persistent connection to Oracle 9.2 servers does not work. The server seem to brutally kill the connection on OCIPing, a function the code in ext/pdo/oci_driver.c:pdo_oci_check_liveness() assumes will fail gracefully on older Oracle versions. This makes the error_code == 1010 check fail and it will (now correctly) re-connect to the server, saving the day by not failing in a user-visible way, but however rendering persistent connections to 9.2 servers useless and adding ~900ms of extra latency (in our case). I tried extending the check to the resulting 3113 (end-of-file on communication channel) error, but it turned out the connection really is dead at that point. Is there really any downside to just using OCIServerVersion instead of OCIPing? Test script: --- ?php $pdo = new PDO( 'oci:dbname=//dbserver/dbname', 'user', 'pass', array(PDO::ATTR_ERRMODE = PDO::ERRMODE_EXCEPTION, PDO::ATTR_PERSISTENT = true) ); ? Expected result: connections not beeing re-established (source port numbers in netstat -anp not changing) Actual result: -- connections beeing re-established (source port numbers in netstat -anp changing), incurring a large latency penalty. -- Edit bug report at https://bugs.php.net/bug.php?id=61502edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=61502r=trysnapshot54 Try a snapshot (PHP 5.3): https://bugs.php.net/fix.php?id=61502r=trysnapshot53 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=61502r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=61502r=fixed Fixed in SVN and need be documented: https://bugs.php.net/fix.php?id=61502r=needdocs Fixed in release: https://bugs.php.net/fix.php?id=61502r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=61502r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=61502r=needscript Try newer version: https://bugs.php.net/fix.php?id=61502r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=61502r=support Expected behavior: https://bugs.php.net/fix.php?id=61502r=notwrong Not enough info: https://bugs.php.net/fix.php?id=61502r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=61502r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=61502r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=61502r=php4 Daylight Savings:https://bugs.php.net/fix.php?id=61502r=dst IIS Stability: https://bugs.php.net/fix.php?id=61502r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=61502r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=61502r=float No Zend Extensions: https://bugs.php.net/fix.php?id=61502r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=61502r=mysqlcfg
#35780 [NEW]: $INSTALL_ROOT confuses PEAR installer configuration
From: andre at tomt dot net Operating system: Linux (Debian sid/amd64) PHP version: 5.1.1 PHP Bug Type: *Configuration Issues Bug description: $INSTALL_ROOT confuses PEAR installer configuration Description: When installing the PEAR installer and the base components as shipped in the php tarball, using INSTALL_ROOT will confuse the pear installation. INSTALL_ROOT gets prepended on the paths in the configuration (pear.conf) and in the pear binary. This breaks packaging. Reproduce code: --- ./configure make make install-pear INSTALL_ROOT=/somewhere/else/php-pear Now observe the pear shell script, and the pear.conf. I can't recall this used to be a problem before PHP 5.1. Expected result: Not having INSTALL_ROOT prepended in pear config and in pear command. Actual result: -- INSTALL_ROOT prepended in pear config and in pear command. -- Edit bug report at http://bugs.php.net/?id=35780edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=35780r=trysnapshot44 Try a CVS snapshot (PHP 5.1): http://bugs.php.net/fix.php?id=35780r=trysnapshot51 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=35780r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=35780r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=35780r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=35780r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=35780r=needscript Try newer version:http://bugs.php.net/fix.php?id=35780r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=35780r=support Expected behavior:http://bugs.php.net/fix.php?id=35780r=notwrong Not enough info: http://bugs.php.net/fix.php?id=35780r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=35780r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=35780r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=35780r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=35780r=dst IIS Stability:http://bugs.php.net/fix.php?id=35780r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=35780r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=35780r=float No Zend Extensions: http://bugs.php.net/fix.php?id=35780r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=35780r=mysqlcfg
#35780 [Fbk-Opn]: $INSTALL_ROOT confuses PEAR installer configuration
ID: 35780 User updated by: andre at tomt dot net Reported By: andre at tomt dot net -Status: Feedback +Status: Open Bug Type: *Configuration Issues Operating System: Linux (Debian sid/amd64) PHP Version: 5.1.1 New Comment: no change Previous Comments: [2005-12-22 23:18:00] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5.1-latest.tar.gz For Windows: http://snaps.php.net/win32/php5.1-win32-latest.zip [2005-12-22 22:59:12] andre at tomt dot net Description: When installing the PEAR installer and the base components as shipped in the php tarball, using INSTALL_ROOT will confuse the pear installation. INSTALL_ROOT gets prepended on the paths in the configuration (pear.conf) and in the pear binary. This breaks packaging. Reproduce code: --- ./configure make make install-pear INSTALL_ROOT=/somewhere/else/php-pear Now observe the pear shell script, and the pear.conf. I can't recall this used to be a problem before PHP 5.1. Expected result: Not having INSTALL_ROOT prepended in pear config and in pear command. Actual result: -- INSTALL_ROOT prepended in pear config and in pear command. -- Edit this bug report at http://bugs.php.net/?id=35780edit=1