使用这个扩展需要 Oracle8 客户端库。Windows 用户需要至少 Oracle 8.1 来使用 php_oci8.dll。 在使用这个扩展之前,请确认你已经为 Oracle 用户和 web daemon 用户正确设置了 Oracle 环境变量。下面列出了需要设置的环境变量: 
ORACLE_HOME ORACLE_SID LD_PRELOAD LD_LIBRARY_PATH NLS_LANG ORA_NLS33 
在为 web 服务器用户设置环境变量之后,你还需要将 web 服务器用户(nobody、 www)加到 oracle 组中。 如果你的 web 服务器不能够启动或者在启动的时候崩溃: 检查 Apache 是否使用了 pthread 库: # ldd /www/apache/bin/httpd 
    libpthread.so.0 => /lib/libpthread.so.0 (0x4001c000)
    libm.so.6 => /lib/libm.so.6 (0x4002f000)
    libcrypt.so.1 => /lib/libcrypt.so.1 (0x4004c000)
    libdl.so.2 => /lib/libdl.so.2 (0x4007a000)
    libc.so.6 => /lib/libc.so.6 (0x4007e000)
    /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
 如果 libpthread 没有列出,你必需重新安装 Apache: # cd /usr/src/apache_1.3.xx
# make clean
# LIBS=-lpthread ./config.status
# make
# make install
 请注意在象 UnixWare 在内的某些操作系统中,使用libthread 代替 libpthread。则PHP 和 Apache 必须使用 EXTRA_LIBS=-lthread 配置。 

解决方案 »

  1.   

    我的PHP 版本是 5.1.6这么说,我必须在WEB服务器上安装Oracle的 客户端库 ?
      

  2.   

    没错,得安装Oracle的客户端。装个客户端运行时(Run-Time)就好,不大的。
    而且,TNSNAME还得好好配哦,不可以偷懒。
      

  3.   

    Warning: ocilogon() [function.ocilogon]: OCIEnvNlsCreate() failed. There is something wrong with your system - please check that LD_LIBRARY_PATH includes the directory with Oracle Instant Client libraries in E:\web\运营商\黑龙江网通公司\运营商营运平台\php_link_oracle.php on line 24
    目前提示错误是这个..
      

  4.   

    我的web服务器是windows2003呵呵,没装过Oracle客户端,马上详细说下.麻烦了。 
      

  5.   

    我的web服务器是windows2003 呵呵,没装过Oracle客户端,麻烦详细说下.麻烦了。 
      

  6.   

    装个Oracle客户端就好使了,装9i或10g的客户端应该都可以。不过不知道5.1.6的PHP的OCI库是不是那个只能用10g的版本。你服务器是9i的话,就先装9i试一下吧。
    放进Oracle的安装盘,会问你装企业版还是服务器还是客户机,选客户机,然后会问你装管理端还是运行时。只装运行时就好。装好之后可能需要重启操作系统才行。
      

  7.   

    谢谢楼上的解答..最后一个问题..怎么在windows下配置这些环境变量?ORACLE_HOME  ORACLE_SID  LD_PRELOAD  LD_LIBRARY_PATH  NLS_LANG  ORA_NLS33 
      

  8.   

    Linux需要,Windows不是必需的。
    不过你要是去配也不会有什么问题。