Linux下安裝oracle用戶端並配置php5.3,oraclephp5.3_PHP教程

來源:互聯網
上載者:User

Linux下安裝oracle用戶端並配置php5.3,oraclephp5.3


因項目需要在linux下進行php5.3的oracle用戶端編譯,簡要介紹一下步驟及走過的彎路。

1.下載Oracle用戶端程式包,其中包含OCI、OCCI和JDBC-OCI等相關檔案。

1.1下載檔案地址

http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
根據作業系統的版本選擇對應的軟體,我需要的是X86_64選擇
Instant Client for Linux x86-64

1.2需要下載的檔案如下:

複製代碼 代碼如下:
oracle-instantclient11.1-basic-11.1.0.7.0-1.x86_64.rpm
oracle-instantclient11.1-devel-11.1.0.7.0-1.x86_64.rpm
oracle-instantclient11.1-sqlplus-11.1.0.7.0-1.x86_64.rpm

需要強調的一點是這裡需要註冊一個oracle的賬戶才能正常下載。

2.安裝Oracle用戶端程式包。

將程式包上傳到伺服器指定目錄裡

複製代碼 代碼如下:
chmod +x *.rpm
#給RPM包賦執行許可權
rpm -ivh oracle-instantclient11.1-basic-11.1.0.7.0-1.x86_64.rpm oracle-instantclient11.1-devel-11.1.0.7.0-1.x86_64.rpm oracle-instantclient11.1-sqlplus-11.1.0.7.0-1.x86_64.rpm
#安裝RPM包
echo "/usr/lib/oracle/11.1/client64/lib/" > /etc/ld.so.conf.d/oracle_client.conf
#將庫路徑加到預設載入中
/sbin/ldconfig
#重新載入動態連結程式庫

3.安裝OCI8的php擴充(這裡指定php的安裝路徑為/usr/local/webserver/php)

複製代碼 代碼如下:
yum install libaio
#yum安裝libaio庫,libaio是Linux下的一個非同步非阻塞介面,它提供了以非同步非阻塞方式來讀寫檔案的方式,讀寫效率比較高
wget http://pecl.php.net/get/oci8-1.4.10.tgz
#下載OCI擴充
tar zxvf oci8-1.4.10.tgz
#解壓
cd oci8-1.4.10
/usr/local/webserver/php/bin/phpize CFLAGS="-I/usr/lib/oracle/11.1/client64" CXXFLAGS="-I/usr/lib/oracle/11.1/client64"
#使用phpize準備 PHP 外掛模組的編譯環境,會根據指定的環境變數產生編譯時間需要的makefile,phpize是屬於php-devel的內容,所以centos下只要運行yum install php-devel進行安裝即可
./configure –with-php-config=/usr/local/webserver/php/bin/php-config –with-oci8=/usr/lib/oracle/11.1/client64
make
make install
#編譯,安裝

需要強調的是make的時候會報錯,顯示各種找不到庫檔案,需要對makefile檔案進行修改加入oralce的運行庫地址
開啟makefile,尋找INCLUDE,形式如下:
INCLUDES = -I/usr/local/php/include/php -I/usr/include/oracle/10.2.0.3/client
然後在末尾加上="-I/usr/lib/oracle/11.1/client64,然後重新make就會成功了。

4.修改PHP.ini(/usr/local/webserver/php/etc/php.ini)

在extension_dir = "/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/"後增加一行:
複製代碼 代碼如下:
extension = "oci8.so"

5.重啟apache讓OCI生效

6.在web目錄下建立phpinfo.php檔案在其中輸入一下內容,並通過web訪問

複製代碼 代碼如下:
<?php
phpinfo();
?>

如果找到OCI8的部分就說明OCI安裝正常了,如所示

接下來就能通過php訪問oracle資料庫了,需要注意的是php下Oracle的連接字串

複製代碼 代碼如下:
<?php
$username='***';
$passwd='***';
$protocol='TCP';
$SERVICE_NAME='***';
$ORACLE_SERVER_IP_ADDRESS='***.***.***.***';
$Port='1521′;
$db = "(DESCRIPTION=(ADDRESS_LIST = (ADDRESS = (PROTOCOL = $protocol)(HOST = $ORACLE_SERVER_IP_ADDRESS)(PORT = $Port)))(CONNECT_DATA=(SID=$SERVICE_NAME)))";
$conn = oci_connect($username,$passwd, $db);
PutEnv("NLS_LANG=SIMPLIFIED CHINESE_CHINA.AL32UTF8");
if (!$conn) {
$e = oci_error();
print htmlentities($e['message']);
exit;
}else {
echo "串連oracle成功!";
return $conn;
}
?>


怎在linux下安裝Oracle 用戶端

以root使用者安裝rpm -ivh oracle-instantclient-basic-11.1.0.1-1.x86_64.rpmrpm -ivh oracle-instantclient-sqlplus-11.1.0.1-1.x86_64.rpm配置vim /etc/profile 添加export ORACLE_HOME=/usr/lib/oracle/11.1.0.1/client64export ORACLE_BASE=/usr/lib/oracle/11.1.0.1export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATHexport NLS_LANG=AMERICAN_AMERICA.AL32UTF8設定好環境變數需要重啟機器!建立設定檔在ORACLE_HOME目錄下建立以下目錄network/admin,並建立檔案tnsnames.ora,內容如下:vim /usr/lib/oracle/11.1.0.1/client64/network/admin/tnsnames.ora# tnsnames.ora Network Configuration File: /opt/oracle10g/u01/network/admin/tnsnames.ora# Generated by Oracle configuration tools.111 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.15.111)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = dmsdb) ) )測試到ORACLE_HOME/bin目錄下,執行命令:[yleesun@centos bin]$ ./sqlplus zxd/zxd@111Copyright (c) 1982, 2011, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL>測試成功!註:如果出現以下錯誤:sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory說明環境變數沒有生效!
 

怎在linux下安裝Oracle 用戶端

以root使用者安裝
rpm -ivh oracle-instantclient-basic-11.1.0.1-1.x86_64.rpm
rpm -ivh oracle-instantclient-sqlplus-11.1.0.1-1.x86_64.rpm配置
vim /etc/profile 添加
export ORACLE_HOME=/usr/lib/oracle/11.1.0.1/client64
export ORACLE_BASE=/usr/lib/oracle/11.1.0.1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
設定好環境變數需要重啟機器!
建立設定檔
在ORACLE_HOME目錄下建立以下目錄network/admin,並建立檔案tnsnames.ora,內容如下:
vim /usr/lib/oracle/11.1.0.1/client64/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /opt/oracle10g/u01/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.111 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.15.111)(PORT = 1521)))
(CONNECT_DATA =
(SERVICE_NAME = dmsdb)))測試
到ORACLE_HOME/bin目錄下,執行命令:
[yleesun@centos bin]$ ./sqlplus zxd/zxd@111
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL測試成功!註:
如果出現以下錯誤:
說明環境變數沒有生效!
 

http://www.bkjia.com/PHPjc/892259.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/892259.htmlTechArticleLinux下安裝oracle用戶端並配置php5.3,oraclephp5.3 因項目需要在linux下進行php5.3的oracle用戶端編譯,簡要介紹一下步驟及走過的彎路。 1.下載O...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.