當前位置:首頁 » 編程語言 » phpoci擴展安裝

phpoci擴展安裝

發布時間: 2022-11-27 22:48:24

1. 如何配置php中的php.ini-development文件

如何配置php中的php.ini-development文件
首先將下載好的php安裝包解壓,打開文件夾

找到php.ini-development配置文件,重要的一步的是將文件改名字,改成php.ini

用類似Editplus的編輯器打開文件,用記事本打開可能格式會亂掉,

然後找到; extension_dir = "./"; On windows:; extension_dir = "ext"
改成; extension_dir = "./"; On windows:extension_dir = "E:/Apache Group/PHP/ext"
增加php的拓展功能(拓展功能都在ext目錄下面)

找到; http://php.net/short-open-tagshort_open_tag = Off中的Off改成On,表示支持短標簽

找到;extension=php_fileinfo.dll;extension=php_gd2.dll;extension=php_gettext.dll;extension=php_gmp.dll;extension=php_intl.dll;extension=php_imap.dll;extension=php_interbase.dll;extension=php_ldap.dll;extension=php_mbstring.dll;extension=php_exif.dll ; Must be after mbstring as it depends on it;extension=php_mysql.dll;extension=php_mysqli.dll;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client;extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client;extension=php_openssl.dll;extension=php_pdo_firebird.dll;extension=php_pdo_mssql.dll;extension=php_pdo_mysql.dll;extension=php_pdo_oci.dll;extension=php_pdo_odbc.dll;extension=php_pdo_pgsql.dll;extension=php_pdo_sqlite.dll;extension=php_pgsql.dll;extension=php_pspell.dll;extension=php_shmop.dll根據要求打開相應的功能,比如要連接資料庫的,可以將;extension=php_mysql.dll和;extension=php_mysql.dll前面的分號去掉,表示啟用相關功能

設置時區,
;date.timezone =改為date.timezone = Asia/Shanghai

2. php怎麼始終連接不上ORACLE啊,有誰能幫幫我啊,phpinfo也顯示支持oci8,oracle版本為9.2.0.1.0

我曾經裝過10G的php連接ord。
程序運行必須步驟如下
1.安裝orl client

2.修改php.ini,打開php_oci.dll等擴展dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
extension=php_oci8.dll
extension=php_oracle.dll
<?php
@header("Content-Type: text/html; charset=gb2312");

$conn = oci_connect('name', 'pass', 'ordclientdbname','ZHS16GBK');//SIMPLIFIED CHINESE_CHINA.ZHS16GBK AMERICAN.UTF8
if (!$conn) {
$e = oci_error();
print htmlentities($e['message']);
exit;
}

$query = 'SELECT * FROM taobaogoods';

$stid = oci_parse($conn, $query);
if (!$stid) {
$e = oci_error($conn);
print htmlentities($e['message']);
exit;
}

$r = oci_execute($stid, OCI_DEFAULT);
if(!$r) {
$e = oci_error($stid);
echo htmlentities($e['message']);
exit;
}

print '<html><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><body><table border="1">';
$i =0;
while($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {
print '<tr>';

foreach($row as $item) {
// if($i ==3)echo "<script> alert('$item');</script>";

print '<td>'.($item ? $item:'').'</td>';
//print '<td>'.($item ? iconv('utf-8','gb2312',htmlentities($item)):'').'</td>';
}
$i++;
//exit;
print '</tr>';
}
print '</table></body></html>';

oci_close($conn);
exit;

3. php版本是5.6.23,擴展oracle資料庫php_oci_12c.dll時發現無法定位程序輸入點OCIStmtGetNextResult

1、DLL版本和PHP對不上
2、把這個DLL復制到c:\windows\system32里

4. 為什麼不能運行php,缺少oci.dll文件是什麼回事

dll文件一般被存放在C:\Windows\System目錄下。電腦系統文件因經常會受到病毒的侵擾,導致系統文件、dll文件等丟失、損壞,一些包括游戲在內的應用程序無法啟動。
解決方法有:
1、用Windows系統盤功能進行文件修復;
2、若在此之前有一鍵備份過,可以重新還原;
3、從網上下載系統文件然後覆蓋到原文件夾里;
4、由於從網上下載系統文件,可能會因為系統文件版本與操作系統不相符造成系統文件不兼容的情況,修復系統文件最好使用專業的工具進行一鍵修復。
5、可以用騰訊電腦管家修復下。打開電腦管家——電腦診所——軟體問題——缺少dll文件。

5. PHP安裝好以後,為何老是提示找不到驅動

問題出在你沒有將PHP配置文件中各個驅動前面的注釋分號去掉。
在系統中搜索php.ini文件(通常應該在windows目錄下,或者在你所安裝的PHP目錄下,根據安裝時的不同,也可能在system32目錄下)找到這個文件,用記事本打開它,然後找到一大堆「extension=XXXXX」處,如果你是完全安裝的話,那所有驅動都應該已經有了,那就將每句前面分號去掉,重啟機子即可;如果你知道自己要用哪些驅動,也可以只將自己要用的驅動前面的分號去掉即可。改完之後應該是這樣的:
extension=php_pdo.dll
extension=php_pdo_sqlite.dll
extension=php_pdo_firebird.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_mbstring.dll
extension=php_bz2.dll
extension=php_curl.dll
extension=php_dba.dll
extension=php_dbase.dll
extension=php_exif.dll
extension=php_fdf.dll
extension=php_filepro.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_ifx.dll
extension=php_imap.dll
extension=php_interbase.dll
extension=php_ldap.dll
extension=php_mcrypt.dll
extension=php_mhash.dll
extension=php_mime_magic.dll
extension=php_ming.dll
extension=php_mssql.dll
extension=php_msql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_oci8.dll
extension=php_openssl.dll
extension=php_oracle.dll
extension=php_pgsql.dll
extension=php_shmop.dll
extension=php_snmp.dll
extension=php_sockets.dll
extension=php_sqlite.dll
extension=php_sybase_ct.dll
extension=php_tidy.dll
extension=php_xmlrpc.dll
extension=php_xsl.dll
extension=php_zip.dll
extension=php_pdf.dll

建議你去掉注釋號之後將此文件還是放到windows目錄下而去好一些,盡量不要放在PHP安裝目錄下,這樣系統載入相應驅動之時,能夠快速找到。同時,也可以防止因為你自己忘記在系統環境變數中設置安裝目錄為環境變數,而造成的莫名其妙的錯誤~~

6. mac os x 可以安裝什麼資料庫

Mac OS X 現在是 Oracle 資料庫的正式支持平台;使用本指南安裝您自己的開發工作站
Oracle 在 7 月份發表了聲明,已經可以下載用於 Mac OS X 的 Oracle 資料庫 10g 試用版本了。下面的指南將幫助您安裝一個開發工作站,該工作站使用 Oracle 資料庫,支持 OCI 編譯的 PHP,並具有效率更高的 SQL*Plus 繞接器。
前提條件
您需要一個運行最新版本 Mac OS X「Panther」(截止到本文編寫時為 10.3.4 版本)的 Mac,安裝了 XCode 1.1 或更高版本,以及一個管理員帳戶。安裝程序和資料庫將在客戶機版本運行,但是 Oracle 只支持該操作系統的伺服器版本。Mac 至少應具有 512MB 內存,5GB 可用硬碟空間。
您應該熟悉在 Unix shell 環境,並且熟悉通過 sudo 運行管理命令。下面的說明將使用 bash shell 語法,因為這是 Panther 中新帳戶的默認 shell。
如果您尚未將 XCode 更新到版本 1.2,則還需要從 Apple Developer Connection 網站下載 gcc 套件的更新,並安裝該更新。前往 http://connect.apple.com/,登錄或注冊一個新帳戶。登錄之後,在該頁左側選擇「Download Software」鏈接。然後選擇「Developer Tools」,下載「Dec 2003 gccLongBranch Tools」。單擊下載的文件,然後按照說明安裝該更新。
最後,您需要下載 Oracle 資料庫以及 PHP 4.3.8 的源代碼。請注意,Oracle 資料庫文件相當大 (575MB),可能需要一段時間才能下載完。
使用入門
10g 試用版附帶了有幫助的文檔,通過 Oracle Universal Installer 安裝的,因此應首先解壓縮下載的文件。打開一個終端窗口,進入下載文件所在的目錄(可能是 ~/Desktop 或 ~/Documents),執行下列命令:

$ ls MAC_DB_SERVER*

如果文件最後的擴展名為 .cpio.gz,則請運行下列命令將其解壓縮。如果它最後為 .cpio,則說明您的瀏覽器已經對該文件進行了解壓縮,您可以跳過下一步驟。
$ gunzip MAC_DB_SERVER.cpio.gz

接下來,從 cpio 存檔解壓縮安裝磁碟(您可以在 -idm 之後添加 v 以便在解壓縮時看到文件列表)。
$ cpio -idm < MAC_DB_SERVER.cpio

您將位於一個名為 Disk1 的目錄中。要在默認 Web 瀏覽器中閱讀該文檔,請運行下列命令:
$ open Disk1/doc/unixdoc/index.htm

單擊「Quick Installation Guide for Apple MAC OS X」鏈接。雖然從名稱上看是快速安裝指南,但實際上這是一個詳細的指南,介紹了准備系統以及運行 Oracle Universal Installer 涉及的所有步驟。如果您以前從未安裝過 Oracle,或者使用下面的說明遇到了問題,則請花些時間通讀此指南。我還會在下面說明的各階段告訴您參考該指南的一些章節以了解更多詳細信息。
雖然該指南建議以 root 用戶通過 su - root 運行 shell,但是在 Mac OS X 上,默認情況下並不會啟用 root 用戶,該命令會提示您輸入一個並不存在的密碼。您可以通過 sudo 使用 root 許可權運行命令(如sudo command),也可以使用 sudo su - 通過 sudo 啟動一個 root shell。
准備系統
資料庫應該由專用用戶帳戶安裝和運行,該帳戶通常名為 oracle。如果您已經安裝了 9iR2 開發人員版本(請參閱我以前的文章),則可能在系統上已經具有了 oracle 帳戶。請參閱 Quick Installation Guide 上的「Create Required Unix groups and user」部分來創建或更新 oracle 用戶以及 OSDBA 和 Oracle Inventory 組。您可以通過運行下列命令進行檢查,以確定是否已經正確配置該用戶:
$ id oracle
uid=1521(oracle) gid=1523(oinstall) groups=1523(oinstall), 80(admin), 1521(dba) [[should be only one line]]

如果您看到一個如上所示的組列表,則說明您的 oracle 用戶可以執行安裝了。請注意,您在組列表中看到的 uid、gid 數字可能有所不同。
接下來,您需要決定在哪裡存放資料庫應用程序和數據文件。因為此安裝是用於開發人員系統的,所以為了簡單起見,我選擇了放棄 Oracle 的最佳靈活體系結構。打開另一個終端窗口,輸入下列命令:
$ sudo su - oracle
$ mkdir 10gEAR2

此命令將以 oracle 用戶啟動一個 shell,並創建 /Users/oracle/10gEAR2 目錄,該目錄將用作此安裝的 $ORACLE_BASE。如果計算機具有多個磁碟,則可能還希望在另外一個磁碟上創建一個存放數據文件的目錄。Oracle 建議將應用程序和數據文件分開以獲得最佳性能。
接下來,您需要檢查幾個內核參數,確保這些內核參數已設置為 Oracle 的推薦值或比這些值還高。有關詳細信息,請參閱 Quick Install Guide 的「Configure Kernel Parameters」部分。例如,在我的系統上,除了兩個參數之外,其他參數均設置為推薦值,因此我使用管理員帳戶切換回該終端,然後更改了這兩個參數,如下所示:
$ sudo sysctl -w kern.maxproc=2068
$ sudo sysctl -w kern.maxprocperuid=2068

為了確保在重新啟動之後能夠保持這些更改,我在 /etc/sysctl.conf 文件中添加了下面兩行內容:
$ cat /etc/sysctl.conf
kern.maxproc=2068
kern.maxprocperuid=2068

接下來,您需要確保 shell 限制設置得足夠高。Quick Install Guide 建議編輯 /etc/rc 文件以及 /System/Library/StartupItems/IPServices/IPServices 文件。在清單 1 和清單 2 中有這些文件編輯過的版本。我建議按照下列方式替換這些內容:

$ cd /tmp
$ vi rc #將清單 1 的內容復制到此文件,確保
#刪除任何前導空格
$ vi IPServices #將清單 2 的內容復制到此文件,確保
#刪除任何前導空格
$ cd /etc
$ sudo cp -p rc rc.orig #備份原始文件
$ diff /tmp/rc rc #您應該只看到該指南中
#推薦的添加內容
$ sudo mv /tmp/rc rc
$ cd /System/Library/StartupItems/IPServices
$ sudo cp -p IPServices IPServices.orig #再次備份
$ diff /tmp/IPServices IPServices #確保
#唯一的區別只是這些添加內容
$ sudo mv /tmp/IPServices IPServices

如果使用編輯過的這些文件時出現問題,則可以將保存的文件重命名為原來的名稱以恢復這些文件。
接下來,您需要確保可以 ping 您的主機名。首先檢查該主機名:
$ hostname
您的主機名

如果看到的名稱最後為 .local,則可能要將您的主機名設置為了另外一個值:
$ sudo hostname 您的主機名

為了確保在重新啟動後保持該更改,請通過 sudo 編輯 /etc/hostconfig,並將「HOSTNAME=-AUTOMATIC-」一行更改為「HOSTNAME=您的主機名」。
現在檢查是否可以 ping 您的主機名(如果在上一步驟中必須手動設置該主機名,則可能會失敗)。
$ ping -c 1 `主機名`

如果收到「ping:unknown host 您的主機名」,則必須將您的主機名添加到 /etc/hosts 文件中。通過 sudo 編輯 /etc/hosts,將「127.0.0.1 localhost」更改為「127.0.0.1 localhost 您的主機名」。保存並重復上面的命令。您應該看到幾行輸出,其中包括「1 packets transmitted, 1 packets received, 0% packet loss」。
接下來,如果 /opt 目錄不存在,則應該創建該目錄;如果存在 /etc/oratab 文件則將其刪除:
$ test !/opt && sudo mkdir /opt
$ test /etc/oratab && sudo mv /etc/oratab /etc/oratab.orig

最後,將 Disk1 目錄移動到 oracle 用戶主目錄中,並確保它由該 oracle 用戶擁有:
$ sudo mv Disk1 /Users/oracle
$ sudo chown -R oracle:oinstall /Users/oracle/Disk1

運行 Oracle Universal Installer
現在切換回正在以 oracle 用戶運行 shell 的終端。啟動該安裝程序之前,必須配置您的環境。有關詳細信息,請參閱 Quick Install Guide 的「Log In as the oracle User and Configure the oracle User's Environment」部分,但是下列命令應該能夠完成此任務:
$ export ORACLE_BASE=/Users/oracle/10gEAR2 #如果您在上面選擇了不同的路徑,
#則請在此處使用該路徑
$ export ORACLE_SID=test10g
$ umask 022
$ unset ORACLE_HOME
$ unset TNS_ADMIN

現在啟動該安裝程序:
$ cd Disk1
$ ./runInstaller

該安裝程序是一個 java 應用程序,將引導您完成幾個配置信息屏幕。在 Quick Installer Guide 中對每個屏幕和推薦的輸入內容都進行了說明。我在此就不重復所有這些信息了,但是有幾個步驟需要澄清一下,還有其他幾個步驟,我們在其中不會使用默認值 - 如下所示。
在「Specify File Locations」屏幕上,將 Directory Path 值從 /Users/oracle/10gEAR2/OraHome_1 更改為 /Users/oracle/10gEAR2/orahome。此目錄將作為 $ORACLE_HOME 目錄。在「Installation Type」屏幕上,選擇 Enterprise Edition,然後在「Select Database Configuration」屏幕上選擇「Do not create a starter database」。您將在下一步驟中通過腳本創建、填充和配置資料庫。
最後,該試用版生成的 root.sh shell 腳本具有一些錯誤,這些錯誤與幾個實用程序的位置相關。將該腳本從清單 3 復制到一個新的 root.sh 文件。如果您已經為 $ORACLE_HOME 選擇了另外的值,則請確保首先編輯該腳本,然後再通過 sudo 運行該腳本。您可能仍會看到一些有關 Oracle Cluster Keys 的錯誤 - 如果不打算安裝資料庫集簇,則忽略這些錯誤即可。安裝資料庫集簇不在本文討論范圍之內。
安裝完成之後,您可以退出該安裝程序,開始下面的部分,即創建資料庫和測試您的安裝。
創建資料庫
將清單 4 的內容復制到一個名為 createDb 的文件。此腳本將創建 listener.ora 和 tnsnames.ora 文件,創建一個資料庫,並使用示例方案填充該資料庫。您可以在幾個位置對該腳本進行自定義,使其適用於您的應用程序,但是默認值就足以用於測試了。執行下列命令來設置您的環境,並運行該腳本:
$ chmod +x createDb
$ export ORACLE_HOME=$ORACLE_BASE/orahome
$ export PATH=$PATH:$ORACLE_HOME/bin
$ ./createDb

根據您的硬體不同,運行該腳本最多可能需要一小時的時間,在此之後,請以該示例用戶登錄來測試您的安裝:

$ sqlplus scott/tiger

SQL*Plus:Release 10.1.0.3.0 - Proction on Tue Jul 27 22:16:20 2004

Copyright (c) 1982, 2004, Oracle.All rights reserved.

Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Proction
With the Partitioning, OLAP and Data Mining options

SQL> select table_name from user_tables;

TABLE_NAME
------------------------------
DEPT
EMP
BONUS
SALGRADE

SQL> select count(*) from emp;

COUNT(*)
----------
14

確認資料庫正確創建之後,您可以更改默認密碼,載入您的應用程序,還可以隨意查看該示例方案。為了將該 oracle 用戶的環境配置為永久地使用這個新的資料庫,請用下列內容在該 oracle 用戶的主目錄中創建一個名為 .bashrc.oracle 的文件:
export ORACLE_HOME=/Users/oracle/10gEAR2/orahome
export ORACLE_SID=test10g
export PATH=$PATH:$ORACLE_HOME/bin

然後,通過在 .bash_profile 中創建類似下面的一行內容,確保主 shell 初始化腳本使用此文件:
. ~/.bashrc.oracle

您還可以通過將下面幾行內容復制到一個名為 oraclectl 的文件中創建一個腳本來停止和啟動該資料庫和偵聽程序。將該文件編譯成可執行文件,用「start」或「stop」作為唯一參數調用該文件。

#!/bin/sh

# 用於啟動和停止該 Oracle 資料庫
# 必須由 dba 組成員運行

start() {
$ORACLE_HOME/bin/sqlplus /nolog <<__EOF__
connect / as sysdba
startup
__EOF__
sleep 2
$ORACLE_HOME/bin/lsnrctl start
}

stop() {
$ORACLE_HOME/bin/lsnrctl stop
$ORACLE_HOME/bin/sqlplus /nolog <<__EOF__
connect / as sysdba
shutdown abort
__EOF__
}

if [ -z $ORACLE_HOME ]; then
echo "You must define ORACLE_HOME" 1>&2
exit 2
fi

if [ !-d $ORACLE_HOME ]; then
echo "Unable to find $ORACLE_HOME" 1>&2
exit 2
fi

case "$1" in
'start')
start
;;
'stop')
stop
;;
*)
echo "Usage:$0 { start | stop }"
exit 2
;;
esac

exit 0

安裝 PHP
首先將下載的 tar 文件復制到該 oracle 用戶的主目錄中。切換回正在運行您的管理員帳戶 shell 的終端,運行下列命令:
$ cd ~/Desktop #或您下載的 PHP tar 文件所在的目錄
$ sudo mv php-4.3.8.tar.gz ~oracle

接下來,為 oracle 用戶解壓縮源代碼,配置並構建 PHP。在此示例中,為了連接 Oracle 我們剛剛激活了 OCI 擴展;您的應用程序可能需要附加的擴展來獲得 XSLT 支持、圖像操作等。運行 ./configure --help 就可以看到所有配置選項。
$ tar zxf php-4.3.8.tar.gz
$ cd php-4.3.8
$ ./configure --with-apxs --with-oci8
$ make
$ sudo make install

為了測試您的 PHP 安裝,請使用下列內容創建一個 test_oci.php 文件:

<?php
$sid = 'test10g';
$home = '/Users/oracle/10gEAR2/orahome';

putenv("ORACLE_HOME=$home");
putenv("ORACLE_SID=$sid");
putenv("TNS_ADMIN=$home/network/admin");

echo "<html><head><title>Test OCI</title></head><body>\n";

// 對於 OCI 建議進行持久性連接
$conn = OCIPlogon('scott', 'tiger', $sid);
if ($conn) {
$stmt = OCIParse($conn, "SELECT TO_CHAR(SYSDATE,
'YYYY-MM-DD HH24:MI:SS') AS
datetime FROM DUAL");
if ($stmt) {
if (OCIExecute($stmt)) {
while (OCIFetchInto($stmt, $row, OCI_ASSOC)) {

7. 我的PHP編譯oci模塊的時候報這個錯誤時怎麼回事呢

以擴展的形式加入,可以下載php pecl擴展,解壓後,進入到對於目錄,然後PHP-PATH/bin/phpize,然後就是 ./configure --with-php-config=PHP-PATH/bin/php-config 然後make,然後就會生成 so文件,到php擴展目前,再修改php.ini文件

8. win7的環境安裝php的oci擴展遇到問題

使用集成包phpstudy,再菜單php擴展裡面勾上oci擴展即可。看下圖,擴展管理超級方便,勾上即可打開。phpstudy支持apache,iis和nginx26種組合,php任意切換。純中文綠色解壓即可。

9. oracle資料庫在mac osx 10.11.1 怎麼安裝

10g 試用版附帶了有幫助的文檔,通過 Oracle Universal Installer 安裝的,因此應首先解壓縮下載的文件。打開一個終端窗口,進入下載文件所在的目錄(可能是 ~/Desktop 或 ~/Documents),執行下列命令:

$ ls MAC_DB_SERVER*

如果文件最後的擴展名為 .cpio.gz,則請運行下列命令將其解壓縮。如果它最後為 .cpio,則說明您的瀏覽器已經對該文件進行了解壓縮,您可以跳過下一步驟。

$ gunzip MAC_DB_SERVER.cpio.gz
接下來,從 cpio 存檔解壓縮安裝磁碟(您可以在 -idm 之後添加 v 以便在解壓縮時看到文件列表)。

$ cpio -idm < MAC_DB_SERVER.cpio
您將位於一個名為 Disk1 的目錄中。要在默認 Web 瀏覽器中閱讀該文檔,請運行下列命令:

$ open Disk1/doc/unixdoc/index.htm
單擊「Quick Installation Guide for Apple MAC OS X」鏈接。雖然從名稱上看是快速安裝指南,但實際上這是一個詳細的指南,介紹了准備系統以及運行 Oracle Universal Installer 涉及的所有步驟。如果您以前從未安裝過 Oracle,或者使用下面的說明遇到了問題,則請花些時間通讀此指南。我還會在下面說明的各階段告訴您參考該指南的一些章節以了解更多詳細信息。

雖然該指南建議以 root 用戶通過 su - root 運行 shell,但是在 Mac OS X 上,默認情況下並不會啟用 root 用戶,該命令會提示您輸入一個並不存在的密碼。您可以通過 sudo 使用 root 許可權運行命令(如 sudo command),也可以使用 sudo su - 通過 sudo 啟動一個 root shell。

准備系統

資料庫應該由專用用戶帳戶安裝和運行,該帳戶通常名為 oracle。如果您已經安裝了 9iR2 開發人員版本(請參閱我以前的文章),則可能在系統上已經具有了 oracle 帳戶。請參閱 Quick Installation Guide 上的「Create Required Unix groups and user」部分來創建或更新 oracle 用戶以及 OSDBA 和 Oracle Inventory 組。您可以通過運行下列命令進行檢查,以確定是否已經正確配置該用戶:

$ id oracle
uid=1521(oracle) gid=1523(oinstall) groups=1523(oinstall), 80(admin), 1521(dba) [[should be only one line]]
如果您看到一個如上所示的組列表,則說明您的 oracle 用戶可以執行安裝了。請注意,您在組列表中看到的 uid、gid 數字可能有所不同。

接下來,您需要決定在哪裡存放資料庫應用程序和數據文件。因為此安裝是用於開發人員系統的,所以為了簡單起見,我選擇了放棄 Oracle 的最佳靈活體系結構。打開另一個終端窗口,輸入下列命令:

$ sudo su - oracle
$ mkdir 10gEAR2
此命令將以 oracle 用戶啟動一個 shell,並創建 /Users/oracle/10gEAR2 目錄,該目錄將用作此安裝的 $ORACLE_BASE。如果計算機具有多個磁碟,則可能還希望在另外一個磁碟上創建一個存放數據文件的目錄。Oracle 建議將應用程序和數據文件分開以獲得最佳性能。

接下來,您需要檢查幾個內核參數,確保這些內核參數已設置為 Oracle 的推薦值或比這些值還高。有關詳細信息,請參閱 Quick Install Guide 的「Configure Kernel Parameters」部分。例如,在我的系統上,除了兩個參數之外,其他參數均設置為推薦值,因此我使用管理員帳戶切換回該終端,然後更改了這兩個參數,如下所示:

$ sudo sysctl -w kern.maxproc=2068
$ sudo sysctl -w kern.maxprocperuid=2068
為了確保在重新啟動之後能夠保持這些更改,我在 /etc/sysctl.conf 文件中添加了下面兩行內容:

$ cat /etc/sysctl.conf
kern.maxproc=2068
kern.maxprocperuid=2068
接下來,您需要確保 shell 限制設置得足夠高。Quick Install Guide 建議編輯 /etc/rc 文件以及 /System/Library/StartupItems/IPServices/IPServices 文件。在清單 1 和清單 2 中有這些文件編輯過的版本。我建議按照下列方式替換這些內容:


$ cd /tmp
$ vi rc #將清單 1 的內容復制到此文件,確保
#刪除任何前導空格
$ vi IPServices #將清單 2 的內容復制到此文件,確保
#刪除任何前導空格
$ cd /etc
$ sudo cp -p rc rc.orig #備份原始文件
$ diff /tmp/rc rc #您應該只看到該指南中
#推薦的添加內容
$ sudo mv /tmp/rc rc
$ cd /System/Library/StartupItems/IPServices
$ sudo cp -p IPServices IPServices.orig #再次備份
$ diff /tmp/IPServices IPServices #確保
#唯一的區別只是這些添加內容
$ sudo mv /tmp/IPServices IPServices

如果使用編輯過的這些文件時出現問題,則可以將保存的文件重命名為原來的名稱以恢復這些文件。

接下來,您需要確保可以 ping 您的主機名。首先檢查該主機名:

$ hostname
您的主機名
如果看到的名稱最後為 .local,則可能要將您的主機名設置為了另外一個值:

$ sudo hostname 您的主機名
為了確保在重新啟動後保持該更改,請通過 sudo 編輯 /etc/hostconfig,並將「HOSTNAME=-AUTOMATIC-」一行更改為「HOSTNAME=您的主機名」。

現在檢查是否可以 ping 您的主機名(如果在上一步驟中必須手動設置該主機名,則可能會失敗)。

$ ping -c 1 `主機名`
如果收到「ping:unknown host 您的主機名」,則必須將您的主機名添加到 /etc/hosts 文件中。通過 sudo 編輯 /etc/hosts,將「127.0.0.1 localhost」更改為「127.0.0.1 localhost 您的主機名」。保存並重復上面的命令。您應該看到幾行輸出,其中包括「1 packets transmitted, 1 packets received, 0% packet loss」。

接下來,如果 /opt 目錄不存在,則應該創建該目錄;如果存在 /etc/oratab 文件則將其刪除:

$ test !/opt && sudo mkdir /opt
$ test /etc/oratab && sudo mv /etc/oratab /etc/oratab.orig
最後,將 Disk1 目錄移動到 oracle 用戶主目錄中,並確保它由該 oracle 用戶擁有:

$ sudo mv Disk1 /Users/oracle
$ sudo chown -R oracle:oinstall /Users/oracle/Disk1
運行 Oracle Universal Installer

現在切換回正在以 oracle 用戶運行 shell 的終端。啟動該安裝程序之前,必須配置您的環境。有關詳細信息,請參閱 Quick Install Guide 的「Log In as the oracle User and Configure the oracle User's Environment」部分,但是下列命令應該能夠完成此任務:

$ export ORACLE_BASE=/Users/oracle/10gEAR2 #如果您在上面選擇了不同的路徑,
#則請在此處使用該路徑
$ export ORACLE_SID=test10g
$ umask 022
$ unset ORACLE_HOME
$ unset TNS_ADMIN
現在啟動該安裝程序:

$ cd Disk1
$ ./runInstaller
該安裝程序是一個 java 應用程序,將引導您完成幾個配置信息屏幕。在 Quick Installer Guide 中對每個屏幕和推薦的輸入內容都進行了說明。我在此就不重復所有這些信息了,但是有幾個步驟需要澄清一下,還有其他幾個步驟,我們在其中不會使用默認值 - 如下所示。

在「Specify File Locations」屏幕上,將 Directory Path 值從 /Users/oracle/10gEAR2/OraHome_1 更改為 /Users/oracle/10gEAR2/orahome。此目錄將作為 $ORACLE_HOME 目錄。在「Installation Type」屏幕上,選擇 Enterprise Edition,然後在「Select Database Configuration」屏幕上選擇「Do not create a starter database」。您將在下一步驟中通過腳本創建、填充和配置資料庫。

最後,該試用版生成的 root.sh shell 腳本具有一些錯誤,這些錯誤與幾個實用程序的位置相關。將該腳本從清單 3 復制到一個新的 root.sh 文件。如果您已經為 $ORACLE_HOME 選擇了另外的值,則請確保首先編輯該腳本,然後再通過 sudo 運行該腳本。您可能仍會看到一些有關 Oracle Cluster Keys 的錯誤 - 如果不打算安裝資料庫集簇,則忽略這些錯誤即可。安裝資料庫集簇不在本文討論范圍之內。

安裝完成之後,您可以退出該安裝程序,開始下面的部分,即創建資料庫和測試您的安裝。

創建資料庫

將清單 4 的內容復制到一個名為 createDb 的文件。此腳本將創建 listener.ora 和 tnsnames.ora 文件,創建一個資料庫,並使用示例方案填充該資料庫。您可以在幾個位置對該腳本進行自定義,使其適用於您的應用程序,但是默認值就足以用於測試了。執行下列命令來設置您的環境,並運行該腳本:

$ chmod +x createDb
$ export ORACLE_HOME=$ORACLE_BASE/orahome
$ export PATH=$PATH:$ORACLE_HOME/bin
$ ./createDb
根據您的硬體不同,運行該腳本最多可能需要一小時的時間,在此之後,請以該示例用戶登錄來測試您的安裝:


$ sqlplus scott/tiger

SQL*Plus:Release 10.1.0.3.0 - Proction on Tue Jul 27 22:16:20 2004

Copyright (c) 1982, 2004, Oracle.All rights reserved.

Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Proction
With the Partitioning, OLAP and Data Mining options

SQL> select table_name from user_tables;

TABLE_NAME
------------------------------
DEPT
EMP
BONUS
SALGRADE

SQL> select count(*) from emp;

COUNT(*)
----------
14

確認資料庫正確創建之後,您可以更改默認密碼,載入您的應用程序,還可以隨意查看該示例方案。為了將該 oracle 用戶的環境配置為永久地使用這個新的資料庫,請用下列內容在該 oracle 用戶的主目錄中創建一個名為 .bashrc.oracle 的文件:

export ORACLE_HOME=/Users/oracle/10gEAR2/orahome
export ORACLE_SID=test10g
export PATH=$PATH:$ORACLE_HOME/bin
然後,通過在 .bash_profile 中創建類似下面的一行內容,確保主 shell 初始化腳本使用此文件:

. ~/.bashrc.oracle
您還可以通過將下面幾行內容復制到一個名為 oraclectl 的文件中創建一個腳本來停止和啟動該資料庫和偵聽程序。將該文件編譯成可執行文件,用「start」或「stop」作為唯一參數調用該文件。


#!/bin/sh

# 用於啟動和停止該 Oracle 資料庫
# 必須由 dba 組成員運行

start() {
$ORACLE_HOME/bin/sqlplus /nolog <<__EOF__
connect / as sysdba
startup
__EOF__
sleep 2
$ORACLE_HOME/bin/lsnrctl start
}

stop() {
$ORACLE_HOME/bin/lsnrctl stop
$ORACLE_HOME/bin/sqlplus /nolog <<__EOF__
connect / as sysdba
shutdown abort
__EOF__
}

if [ -z $ORACLE_HOME ]; then
echo "You must define ORACLE_HOME" 1>&2
exit 2
fi

if [ !-d $ORACLE_HOME ]; then
echo "Unable to find $ORACLE_HOME" 1>&2
exit 2
fi

case "$1" in
'start')
start
;;
'stop')
stop
;;
*)
echo "Usage:$0 { start | stop }"
exit 2
;;
esac

exit 0

安裝 PHP

首先將下載的 tar 文件復制到該 oracle 用戶的主目錄中。切換回正在運行您的管理員帳戶 shell 的終端,運行下列命令:

$ cd ~/Desktop #或您下載的 PHP tar 文件所在的目錄
$ sudo mv php-4.3.8.tar.gz ~oracle
接下來,為 oracle 用戶解壓縮源代碼,配置並構建 PHP。在此示例中,為了連接 Oracle 我們剛剛激活了 OCI 擴展;您的應用程序可能需要附加的擴展來獲得 XSLT 支持、圖像操作等。運行 ./configure --help 就可以看到所有配置選項。

$ tar zxf php-4.3.8.tar.gz
$ cd php-4.3.8
$ ./configure --with-apxs --with-oci8
$ make
$ sudo make install
為了測試您的 PHP 安裝,請使用下列內容創建一個 test_oci.php 文件:


<?php
$sid = 'test10g';
$home = '/Users/oracle/10gEAR2/orahome';

putenv("ORACLE_HOME=$home");
putenv("ORACLE_SID=$sid");
putenv("TNS_ADMIN=$home/network/admin");

echo "<html><head><title>Test OCI</title></head><body>\n";

// 對於 OCI 建議進行持久性連接
$conn = OCIPlogon('scott', 'tiger', $sid);
if ($conn) {
$stmt = OCIParse($conn, "SELECT TO_CHAR(SYSDATE,
'YYYY-MM-DD HH24:MI:SS') AS
datetime FROM DUAL");
if ($stmt) {
if (OCIExecute($stmt)) {
while (OCIFetchInto($stmt, $row, OCI_ASSOC)) {
//OCI_ASSOC 中的鍵總是大寫的
echo "SYSDATE:", $row['DATETIME'];
}
}
}
}

echo "</body></html>\n";
?>

在 Mac OS X Panther 自帶的 Apache httpd.conf 文件中為您啟用了 PHP 支持,默認文檔根目錄為 /Library/Webserver/Documents。將 test_oci.php 文件復制到該文檔根目錄中,然後啟動或者重新啟動 apache:

$ sudo apachectl start
您現在可以使您的瀏覽器指向 http://127.0.0.1/test_oci.php,應該會看到當前的日期和時間。刷新您的瀏覽器若干次,觀察時間變化,注意頁面顯示要比第一次快得多。每個 apache 子進程在使用 OCIPlogon 時都會創建一個到該資料庫的持久性連接。該子進程處理的後續請求要快得多,這是因為它可以避免建立新連接的開銷。

PHP 的 OCI 擴展支持許多高級的 Oracle 特性,如存儲過程、連接變數和游標。有關 OCI 與 PHP 結合使用的詳細信息,請參閱「資源」框中的內容。

10. linux如何開啟php的oci擴展

修改php.ini 配置extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"extension = "pdo_mysql.so"extension = "oci8.so"

熱點內容
androidactivity生命 發布:2024-04-27 07:33:48 瀏覽:83
win2008伺服器搭建網站 發布:2024-04-27 07:26:51 瀏覽:639
java的vector 發布:2024-04-27 07:05:00 瀏覽:203
舊電腦共享伺服器 發布:2024-04-27 06:32:21 瀏覽:339
java程序練習 發布:2024-04-27 06:24:00 瀏覽:438
sql30 發布:2024-04-27 06:22:10 瀏覽:55
怎樣防止sql注入 發布:2024-04-27 06:11:25 瀏覽:236
安卓為什麼不能登蘋果系統的游戲 發布:2024-04-27 06:11:23 瀏覽:601
編程日課 發布:2024-04-27 05:56:54 瀏覽:620
漏洞上傳工具 發布:2024-04-27 05:50:58 瀏覽:717