1 要安装oracle的临时客户端,到http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html上下载所需要版本的 basic,level,sqlplus的rpm文件。centos的用户下载完直接执行rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpm。如果是ubuntu先下载先安装 alien 和 fakeroot 这两个工具,其中前者可以将 rpm 包转换为 deb 包。安装命令为:$sudo apt-get install alien fakeroot 将需要安装的 rpm 包下载备用,假设为 package.rpm。使用 alien 将 rpm 包转换为 deb 包:$fakeroot alien package.rpm;sudo dpkg -i package.deb;
2 找到 /etc/ld.so.conf.d 追加:/usr/lib/oracle/11.2/client64/lib/。然后在命令行输入ldconfig
3 到pecl的官网下载cli8的php扩展http://pecl.php.net/package/oci8。
tar -xvzf oci-2.0.8.tgz cd oci-2.0.8 /usr/local/php/bin/phpize (用phpize生成configure配置文件) ./configure --with-php-config=/usr/local/php/bin/php-config --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client/lib make && make install在php.ini 中加入:extension = "oci8.so"
然后重启php-fpm,用phpinfo()看当下有没安装成功,如果失败的话
sudo apt-get install libaio*;安装所需文件。
4 在配置之前确定oracle已经对外开放了1521的端口
在客户端/usr/lib/oracle/11.2/client64/network/admin新建一个将tnsnames.ora 文件
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
然后在服务端的listener.ora增加
然后重启oracle的服务跟监听
5 测试代码:
<?php
$conn = oci_connect('system','li3582382','192.168.56.1:1521/orcl');
if (!$conn)
{
$Error = oci_error();
print htmlentities($Error['message']);
exit;
}
else
{
echo "Connected Oracle Successd!"."<br>";
ocilogoff($conn);
}
?>
热门评论
安装时出现这个问题,checking Oracle Instant Client SDK header directory... configure: error: Oracle Instant Client SDK header files not found