① php,pdo怎麼連接oracle資料庫
要讓php支持oracle非常的簡單我們只要把php.ini中的;extention = php_oci8.dll分號去掉即可.
請先安裝oracle的客戶端,能夠用客戶端訪問oracle。
php支持oracle連接函數
php.ini文件中的配置,去掉 ;extention = php_oci8.dll,去掉前面的分號,重啟apache就可以了,如果不行,我們再把php目錄中的php_oci8.dll拷到windows系統的system32下面去吧.
oracle資料庫建立鏈接,代碼如下:
$conn=oci_connect('username','password',"(DEscriptION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1521))(CONNECT_DATA=(SID=test)))");
② linux系統下如何安裝oci8的php擴展
Linux下PHP Oracle客戶端擴展(OCI8)安裝
因為最近的項目需要用php訪問oracle資料庫,不得不在linux下給php安裝oci8擴展。php也可以使用pdo訪問oracle資料庫,但還是需要安裝客戶端。參考張宴博客的這篇文章,出了很多問題,多次嘗試,足夠折騰才安裝成功。首先到oracle官網的這個頁面下載相關的文件,注意要連資料庫伺服器的版本,一定要對應,否則安裝成功也會連不上,同時也要區分32位、64位伺服器,比如我要連的資料庫伺服器是oracle10.2.0.4,64位主機,那麼我要下載下面三個文件:oracle-instantclient-basic-10.2.0.4-1.x86_64.rpmoracle-instantclient-devel-10.2.0.4-1.x86_64.rpmoracle-instantclient-sqlplus-10.2.0.4-1.x86_64.rpm用以下命令安裝rpm -ivh oracle-instantclient-basic-10.2.0.4-1.x86_64.rpm oracle-instantclient-devel-10.2.0.4-1.x86_64.rpm oracle-instantclient-sqlplus-10.2.0.4-1.x86_64.rpm再安裝OCI8 PHP擴展yum install lio
wget http://pecl.php.net/get/oci8-1.3.5.tgz
tar zxvf oci8-1.3.5.tgz
cd oci8-1.3.5/
/home/renjun/php/bin/phpize CFLAGS="-I/usr/include/oracle/10.2.0.4/client64/" CXXFLAGS="-I/usr/include/oracle/10.2.0.4/client64/"
./configure --with-php-config=/home/renjun/php/bin/php-config --with-oci8=/usr/lib/oracle/10.2.0.4/client64/上面橙色的表示php的安裝路徑,紅色的表示oracle路徑,oracle路徑會因為版本的不同文件夾名稱有所不同,要到相應目錄查看一下,確認路徑正確。然後執行make,如果報錯,就執行./configure --with-php-config=/home/renjun/php/bin/php-config --with-oci8=instantclient,/usr/lib/oracle/10.2.0.4/client64/lib/成功後會提示你執行make test,那就執行吧,可能會出現一堆的fail,但是不要緊。繼續make install。修改php.ini文件,添加extension = "oci8.so"重啟apache,用phpinfo()函數查看oci8是否安裝成功。第一次安裝的時候裝錯版本,重裝了很多遍顯示的仍然事老版本的擴展,必須要刪除oci8-1.3.5這個目錄重新解壓,執行上面的命令才可以。最後鄙視一下oracle,下載你的擴展還必須注冊你的會員,幾十個必填欄位,不就下載個東西么!
③ php中怎麼配置支持oracle 11g資料庫
1、安裝oracle 11g client或instantclient 11
2、編譯php支持oracle
--with-oci8[=DIR]
--with-pdo-oci[=DIR]
3、配置php.ini支持oracle 11g
windows:
extension=php_oci8_11g.dll
linux:參考
http://www.oracle.com/technetwork/articles/technote-php-instant-084410.html
4、ora.php實例
<?php
$conn = oci_connect('user', 'passwd', 'ip:1521/orcl'); // 建立連接
if (!$conn) {
$e = oci_error();
print htmlentities($e['message']);
exit;
}
$query = 'SELECT * FROM account'; // 查詢語句
$stid = oci_parse($conn, $query); // 配置SQL語句,准備執行
if (!$stid) {
$e = oci_error($conn);
print htmlentities($e['message']);
exit;
}
$r = oci_execute($stid, OCI_DEFAULT); // 執行SQL。OCI_DEFAULT表示不要自動commit
if(!$r) {
$e = oci_error($stid);
echo htmlentities($e['message']);
exit;
}
// 列印執行結果
print '<table border="1">';
while($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {
print '<tr>';
foreach($row as $item) {
print '<td>'.($item?htmlentities($item):' ').'</td>';
//print_r($item);
}
print '</tr>';
}
print '</table>';
oci_close($conn);
?>
④ php無法載入oci8模塊,無法連接oracle資料庫!其中php.ini也配置了,oracle即時客戶端也安裝了!
php版本和你的oracle不對應吧。你用phpstudy集成包。裡面php版本可以自由切換。在菜單php擴展裡面勾上oci8就自動打開擴展。擴展管理很方便。