天天看點

php安裝oci8擴充使用oci8連結錯誤解決辦法,如下:注意:作業系統為centos,檢視主機名的指令為hostname

轉載: 五環小胖子的部落格

centos下安裝oci擴充,遠端通路oracle。

[ 百度網盤 ]

提取碼:u67a

下載下傳完成後:

  • oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
  • oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
  • oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm

開始安裝

$ rpm -ivh oracle-instantclient12-basic--x86_64.rpm
$ rpm -ivh oracle-instantclient12-devel--x86_64.rpm
$ rpm -ivh oracle-instantclient12-sqlplus--x86_64.rpm
$ echo "/usr/lib/oracle/12.1/client64/lib" > /etc/ld.so.conf.d/oracle_client.conf
$ /sbin/ldconfig
           

安裝oci8

安裝前請注意版本,目前2.1.0是php7編譯的,若php版本在5.2~5.6之間,請選擇2.0.10版本

以下是安裝腳本:

$ wget http://pecl.php.net/get/oci8-.tgz
$ tar -xf oci8-.tgz
$ cd oci8-
$ phpize
$ ./configure --with-oci8=shared,instantclient,/usr/lib/oracle//client64/lib --with-php-config=/usr/bin/php-config
$ make
$ make test
$ make install
           

配置

oci8安裝成功後,會在/usr/lib64/php/modules/目錄下生成oci8.so檔案 然後在php.ini中添加extension=oci8.so配置 執行php -m後檢視擴充是否加載

若成功後,用腳本測試連接配接

<?php
$conn = oci_connect('使用者名', '密碼', '遠端資料庫名(//192.168.1.157/orcl)');
if (!$conn) {
  $e = oci_error();
  print htmlentities($e['message']);
  exit;
}else {
  echo "連接配接oracle成功!";
}
?>
           

使用oci8連結錯誤

初次使用oci8連結oracle時,遇見這個錯誤:

ORA-: could not generate unique server group name
           

解決辦法,如下:

修改/etc/sysconfig/network,如果沒有就建立一下,添加代碼HOSTNAME=你的主機名

修改/etx/hosts,添加代碼127.0.0.1 你的主機名

service network restart 重新開機一下服務

注意:作業系統為centos,檢視主機名的指令為hostname