建置 PHP 應用程式
若要建置可存取 Autonomous Database 的 PHP 應用程式,請先設定開發系統來支援資料庫存取,以利用 Autonomous Database 的持續可用性和高效能功能。
設定開發系統之後,您可以對應用程式中的資料庫連線和 SQL 敘述句編寫程式碼,以利用持續可用性和高效能功能。
相關主題
配置您的 PHP 開發系統
若要設定您的開發系統,讓您的 PHP 應用程式能夠利用 an Autonomous Database 的持續可用性和高效能功能,請執行下列步驟。
- 下載並安裝 PHP 。
- 下載並安裝 Oracle Instant Client。
- 下載並安裝 PHP OCI8。
- 下載資料庫的用戶端憑證,並將其提供給 Oracle Instant Client 使用。
Before You Begin - 開始之前
您的開發系統必須符合特定條件才能順利設定。
-
它必須能夠存取網際網路。
-
它必須具備 Autonomous Database 的網路存取權。
請參閱設定開發系統以存取資料庫,瞭解如何確保您的開發系統符合此需求。
下載並安裝 PHP
下載安裝適用於您系統作業系統與架構的 PHP:
-
Oracle Linux:
執行下列命令以下載並安裝 PHP,以及下載並安裝 PEAR 以取得 PHP 的 pecl 套裝軟體管理指令:
sudo dnf install -y oracle-release-el8 oracle-php-release-el8 sudo dnf install -y php php-devel php-xml dtrace-utils wget http://pear.php.net/go-pear.phar sudo php go-pear.phar
-
其他 OSes 與架構:
請前往 PHP 安裝與組態設定頁面,遵循您系統作業系統和架構的說明。
下載並安裝 Oracle Instant Client
下載並安裝適用於系統作業系統與架構的 Oracle Instant Client 基本套裝軟體:
-
Oracle Linux:
執行下列指令以下載和安裝 Oracle Instant Client 基本套裝軟體:
sudo dnf -y install oracle-release-el8 sudo dnf -y install oracle-instantclient21.13-basic oracle-instantclient21.13-devel
(如果您要查看所有 Instant Client 套裝軟體的清單,請前往
http://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/index.html
。) -
其他 OSes 與架構:
-
請前往 Oracle Instant Client 下載項目頁面,選取您系統作業系統與架構的下載項目。
-
在下載頁面上,接受 Oracle Technology Network License Agreement,下載基本套件與 SDK 套件的最新版本,然後依照下載頁面底部的指示進行安裝。
-
下載並安裝 PHP OCI8
下載安裝適用於 PHP 的 OCI8 擴充套件,適用於您的系統作業系統和架構:
-
Oracle Linux:
執行下列命令以下載並安裝最新版本的 OCI8 擴充功能:
sudo PHP_DTRACE=yes pecl install oci8 sudo sh -c "echo extension=oci8.so > /etc/php.d/20-oci8.ini" sudo sh -c "echo oci8.events = On > /etc/php.d/20-oci8.ini"
如果您的應用程式需要 Oracle 環境變數,請將它們新增至
/etc/sysconfig/httpd
組態檔,例如:NLS_LANG=AMERICAN_AMERICA.AL32UTF8 NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS' ORA_SDTZ=UTC
如果新增這類變數,請重新啟動 Apache HTTP 伺服器以讀取新的變數:
sudo systemctl restart httpd
-
其他 OSes 與架構:
-
執行此命令
pecl install oci8
-
將下列各行新增至 PHP 安裝的
php.ini
檔案:extension=oci8.so oci8.events = On
-
下載並安裝資料庫的從屬端證明資料
-
將包含您資料庫之從屬端證明資料的壓縮檔下載至您電腦上的安全目錄。
您可以從 Oracle Cloud 主控台中資料庫的「詳細資訊」頁面下載此壓縮檔。如果您有允許您存取此頁面的 Oracle Cloud 使用者帳戶,請下載下列證明資料。如果您沒有此帳戶,則必須從資料庫管理員取得 zip 檔案,以及用來保護 zip 檔案的密碼。
-
在 Web 瀏覽器中,登入 Oracle Cloud 並瀏覽至 Autonomous Database 的「詳細資訊」頁面。
-
按一下資料庫連線。
-
在資料庫連線頁面上,按一下下載。
-
在下載公事包對話方塊的密碼欄位中輸入公事包密碼,然後在確認密碼欄位中確認密碼。
密碼的長度至少要有 8 個字元,而且至少必須包含 1 個字元、1 個數字字元或 1 個特殊字元。
-
按一下下載,將用戶端憑證 zip 檔案儲存至安全目錄。
-
-
下載壓縮檔之後,請依照下列步驟進行:
-
解壓縮從屬端證明資料壓縮檔。
-
編輯從屬端證明資料中提供的
sqlnet.ora
檔案,以您解壓縮從屬端證明資料之目錄的完整路徑取代"?/network/admin"
;例如,變更:(DIRECTORY="?/network/admin")
到:
(DIRECTORY="/users/jdoe/adbcredentials")
-
建立
TNS_ADMIN
環境變數,將其值設為您解壓縮從屬端證明資料的目錄完整路徑。
-
程式碼資料庫連線和 SQL 敘述句
將您的開發系統設定為支援 Autonomous Database 的 PHP 應用程式連線之後,請遵循下列準則,以實現應用程式與資料庫連線的高效能和持續可用性:
- 使用連線集區。
- 啟用 FAN (快速應用程式通知)。
- 使用最符合您要執行之作業的預先定義資料庫服務。如需預先定義資料庫服務的相關資訊,請參閱 Autonomous Database 的預先定義資料庫服務名稱。
若為 PHP,當您在下載 PHP 並安裝 Oracle OCI8 副檔名時,將 oci8.events = On
行新增至 php.ini
檔案,即可啟用 FAN。
OCI8 介面不會顯示特定的連線集區呼叫。而是使用內部連線集區。若要瞭解連線集區的優點,請使用 oci_pconnect()
函數來建立或重複使用 HTTP 要求之間保留的永久連線。
舉例而言:
$connection = oci_pconnect("appuser", getenv("MY_PASSWORD_ENV_VAR"), "tp_tls");
此範例會建立 tp_tls
資料庫服務的永久連線。
其他資源
如需 PHP 的 Oracle OCI8 擴充功能相關資訊,請參閱 Oracle OCI8 頁面。
如需有關搭配 Oracle Database 使用 PHP 的資訊,請參閱 The Underground PHP and Oracle Manual。