[MacPorts] #35675: oci_connect(): OCIEnvNlsCreate() failed

MacPorts noreply at macports.org
Tue Aug 14 22:08:29 PDT 2012


#35675: oci_connect(): OCIEnvNlsCreate() failed
--------------------------------+-------------------------------------------
 Reporter:  sawright@…          |       Owner:  ryandesign@…                    
     Type:  defect              |      Status:  new                             
 Priority:  Normal              |   Milestone:                                  
Component:  ports               |     Version:  2.1.2                           
 Keywords:  oracle apache php5  |        Port:  oracle-instantclient php5-oracle
--------------------------------+-------------------------------------------
Changes (by ryandesign@…):

  * owner:  macports-tickets@… => ryandesign@…


Old description:

> I've been trying to add on Oracle connectivity to an existing webserver
> (php5, apache2) managed by macports successfully for years.
>
> I installed 'oracle-instantclient' and 'php5-oracle'. phpinfo shows the
> oci library loaded, but when I try to connect to an external database, I
> get the error:
> "Warning: oci_connect(): OCIEnvNlsCreate() failed. There is something
> wrong with your system - please check that DYLD_LIBRARY_PATH includes the
> directory with Oracle Instant Client libraries in /path/to/oci.php on
> line 9 Fatal error: in /path/to/oci.php on line 12"
>
> I've tried reloaded the oracle-instantclient
> (https://trac.macports.org/ticket/23148), but that hasn't done anything.
>
> I also tried using the 'php53-oracle' variant, but that didn't do
> anything to change the end result, either.
>
> I also tried adding the DYLD path to various locations
> ('/opt/local/apache2/bin/envvars',.profile,etc.) as per the hint here
> 'http://lists.macosforge.org/pipermail/macports-
> users/2011-July/024699.html', still no luck.
>
> Any idea what I can do to get this working?
>
> Thanks!

New description:

 I've been trying to add on Oracle connectivity to an existing webserver
 (php5, apache2) managed by macports successfully for years.

 I installed 'oracle-instantclient' and 'php5-oracle'. phpinfo shows the
 oci library loaded, but when I try to connect to an external database, I
 get the error:
 "Warning: oci_connect(): OCIEnvNlsCreate() failed. There is something
 wrong with your system - please check that DYLD_LIBRARY_PATH includes the
 directory with Oracle Instant Client libraries in /path/to/oci.php on line
 9 Fatal error: in /path/to/oci.php on line 12"

 I've tried reloaded the oracle-instantclient (#23148), but that hasn't
 done anything.

 I also tried using the 'php53-oracle' variant, but that didn't do anything
 to change the end result, either.

 I also tried adding the DYLD path to various locations
 ('/opt/local/apache2/bin/envvars',.profile,etc.) as per the hint here
 'http://lists.macosforge.org/pipermail/macports-
 users/2011-July/024699.html', still no luck.

 Any idea what I can do to get this working?

 Thanks!

--

Comment:

 You must indeed set the DYLD_LIBRARY_PATH (or DYLD_FALLBACK_LIBRARY_PATH)
 variable to the correct value, or it will not work.

 If you are on Lion or later, you must run in 32-bit mode or Oracle will
 crash. For the php command line, this means using e.g. "arch -i386 php".
 For the Apache web server, this means putting the `arch` command into the
 appropriate Apache start script file.

 Other than that, I don't know.

-- 
Ticket URL: <https://trac.macports.org/ticket/35675#comment:1>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list