instantclient-basic-nt-11.2.0.3.0.zip费了将近一个周的时间配置php的oracle支持环境,查了各种资料,最后还是没把Linux下的php-oci8支持打开。一气之下,就开始配置Windows下的php-oracle环境。昨天从上午一直弄到晚上,终于把php的oracle支持打开,并正常操作oracle数据库。下面,把自己的经历分享给大家。
首先,要运行php这样的服务器脚本,就要有能够运行php的服务器才行。刚开始,我打开自己Windows上的IIS服务,先让它支持asp,搞了半天,重装IIS 也没成功。就改变方案,改用Apache作为服务器。
1 下载Apache服务器,我下载的是httpd-2.0.64-win32-x86-openssl-0.9.8o.msi ,这个安装文件,点击就能安装,按照提示一步步进行,我把安装目录设在了E\Apache2.4
2 更改Apache的网站根目录。点击开始-》程序-》Apache HTTP server 2.0的编辑配置文件,其实就是http.conf文件,可将网站目录设为自己想要的,还要添加php模块支持。我添加了这两句
LoadModule php5_module E:/apache2.4/php/php5apache2.dll
PHPIniDir E:/apache2.4/php
3 下载PHP,我下载的是PHP5.2.17版本,下载后,将其解压至 E\Apache2.4目录下,在该目录下再建一个php目录,5.2.17的文件都在php文件夹下。
4 更改php.ini文件(有一个php*文件重命名而来)。打开oci8的相关dll文件扩展。扩展目录为*\php\ext,该目录下有各种dll支持
5 下载oracle客户端,我只下载了instantclient-basic-nt-11.2.0.3.0.zip,然后将其解压至E:\instantclient11
6 更改系统变量PATH 添加E:\instantclient11;E:\Apache2.4\php;E:\Apache2.4\php\ext
7 添加用户自定义变量 ORACLE_HOME值为E:\instantclient11
8 建立一个php文件,如test.php,使用php的phpinfo(),以便查看php环境
9 重启apache,一定要看到PATH变量和你更改过的相同。若重启apache无效,重启一下系统。
10 通过oci_connect连接oracle10g数据库,发现,TNS无法解析错误。后来通过查阅各种资料还是没有解决,到晚上时,搜到一篇成功连接的例子。
我的连接语句如下
$db="//192.168.101.29/orcl";
$conn = oci_connect("oracle", "cmd_123", $db,"ZHS16GBK");
这样貌似就不需要解析了,IP地址和数据库名称包含在里面了。虽然,问题没有完美解决,但是oracle数据库能被我顺利操作了。
下面是我在此过程中参阅的资料url,希望对网友们有所帮助。
http://www.chinaz.com/web/2012/0516/252021_2.shtml (配置Apache、php用)
安装oracle客户端的资源有很多,大家可以上网搜搜。