FreeBSD+apache+PHP+OCI支持Oracle

由于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

“FreeBSD+apache+PHP+OCI支持Oracle”的2个回复

  1. 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.

发表评论

电子邮件地址不会被公开。 必填项已用*标注

请补全下列算式: *

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据