ID: 31476 Updated by: [EMAIL PROTECTED] Reported By: msquillace at sogei dot it -Status: Open +Status: Feedback Bug Type: OCI8 related Operating System: Red Hat Enterprise Linux AS 3.0 PHP Version: 5CVS-2005-01-10 (dev) New Comment:
I'm non-English speaking user too and I use different NLS_LANGs without any problems. Are you able to reproduce it with other versions of Oracle client and/or server? Previous Comments: ------------------------------------------------------------------------ [2005-01-10 18:10:27] msquillace at sogei dot it Description: ------------ We normally set NLS_LANG=ITALIAN_ITALY.WE8ISO8859P1 in the Apache startup script, mirroring the setting used on the Oracle server, and this has always worked flawlessly with PHP up to version 4.3.0, the one we still run in production. For a new project though we installed PHP 5.0.3 with Oracle 10g (client only; the RDBMS is on another machine) and found that the only way to successfully connect to Oracle from a PHP script is to comment out the NLS_LANG export and go back to the default (American_America.something), otherwise one gets: PHP Warning: oci_connect(): OCISessionBegin: ORA-00604: error occurred at recursive SQL level 1 ORA-00911: invalid character in /opt/web/php/prova_oracle.php on line 2 Here is the minimal script reproducing the error (the credentials have been modified for security reasons, but we tried several with identical results): <?php $conn = oci_connect("user", "passwd", "db1"); ?> It may be useful to note that if any one of the arguments is invalid (wrong username and/or password, or non-existant db instance) the OCI8 extensions works as expected, reporting the correct Oracle errors; so the problem happens after the user is authenticated, when it is time to create a connection to the DB server. Today we downloaded the 09:30 CVS snapshot of PHP 5 and upgraded the OCI8 extension, but the problem remains (this was somewhat expected, as the oci8.c diff didn't show extensive modifications). If confirmed, I believe this is a serious bug affecting most non-English speaking PHP users. Reproduce code: --------------- <?php $conn = oci_connect("user", "passwd", "db1"); ?> ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=31476&edit=1