手记

php在ubuntu上安装oracle的扩展

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);
}
?>

1人推荐
随时随地看视频
慕课网APP

热门评论

安装时出现这个问题,checking Oracle Instant Client SDK header directory... configure: error: Oracle Instant Client SDK header files not found

查看全部评论