由于FreeBSD的Port中自带了oracle-client可用,但仅支持i386的平台,故此文仅针对于i386,AMD64无法实现oci的连接库。
首先,确定你已经安装好apache + php,没有安装的可以参考这里或者文学化的这里
安装php5-oci8
cd /usr/ports/database/php5-oci8
make install clean
安装到这里,Php的OCI8库已经安装成功,但需要对oracle-client进行设置,否则无法使用。
将tnsnames.ora拷贝到/usr/local/oracle8-client/network/admin/ 目录下
内容大致如下:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
由于php默认只会在/etc目录下查找该目录,这里我做了一个手工链接
ln -s /usr/local/oracle8-client/network/admin/tnsnames.ora /etc/tnsnames.ora
tnsnames已经配置完成,但对于非ASCII字符集最容setenv NLS_LANG
易出现的问题就是乱码了,这里要设置一下。
killall httpd //杀掉httpd进程,我曾经碰到过apachectl无效的情况
ee /usr/local/sbin/apachectl
在第二行加入:
setenv american_america.UTF8
setenv ORACLE_HOME /usr/local/oracle8-client
开启apache
apachectl start
| anyShare分享到: | |
| |

#1 by carrel678 on 2009年07月10日 - 19:45
Great article. I have read it and like it. I was needed for guidance about FreeBSD+apache+PHP+OCI Oracle for building a project for hookah bars. And now my problem has been solved after reading your blog.