在oracle server 上安装oracle8i
安装oracle8i时要选择us7ascii字符集才能支持中文,我尝试过gb2312,weiso88
89pi等字符集,结果php从oracle取得的汉字都是问号,也尝试过gbk编码,结果
问题更古怪,ocilogon报告ora-03106错误,令人摸不着头脑。
然后在web server 上安装oracle 8i的client端,可以.netec来配置客户端,也
可以直接从oracle server端把tnsnames.ora用ftp传过来,运行tnsping 来测试
是否连同oracle server,最好是用sqlplus来登陆一下,格式是:scott@oracle_
service_name/tiger。
从php老家http://www.php.net下载最新的php4.0.1pl2版。
在web server上安装好gcc和gmake编译环境。
编译php4的参数如下:
./configure --enable-experimental-zts --with-mysql=no \
--with-nsapi=/usr.netscape/suitespot/ \
--with-oracle=/data/oracle/app/8.1.5 \
--with-oci8=/data/oracle/app/8.1.5 \
--enable-libgcc --enable-sigchild
其中的/usr.netscape/suitespot/是web server上的nes的安装路径,/data/ora
cle/app/8.1.5是web server上的$oracle_home环境变量。--enable-libgcc是为
了避免采用libgcc++带来的reference symbol not found的错误,--eanble-sig
child是为了避免oracle产生的僵尸进程 。
如果在安装oracle8 client时候,没有按照install guide上所说的在安装完成后
设置oracle的一些目录的属性,可以把nobody用户加到dba组里,保证nobody用户
对tnsnames.ora文件有存取权限,否则php程序将会出现ora-12154错误。也曾经
把web server设定为以oracle用户运行,结果是无法启动。
确保oracle server 正在运行,listener已经启动,然后就可以用php程序测试一
下远程连接oracle server了。函数ocilogon的第三个参数是oracle_service_na
me,不能省略。用ora函数的格式是ora_logon("scott@oracle_service_name","t
iger"),至于这是为什么,我也不知道。
以上一点东西,花了我3周的时间,写出来,供参考。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器