PHP一般環境為lamp或lnmp。由於近期,將會參與一個銀行項目,使用Oracle資料庫(資料庫在遠端伺服器),所以自己需要重新搭建一個開發環境,我原本的環境是基於vagrant的,所以只需在原本的環境中安裝Oracle的instant client工具和PHP的oci8擴展。
安裝instant client
#首先,是從https://www.oracle.com/technetwork/topics/linuxx86- 64soft-092277.html下載對應的資料庫版本對應的basic和devel的rpm包或zip壓縮包。我這裡選擇rpm包。然後安裝:
rpm -Uvh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm rpm -Uvh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
這樣,instant client工具已經安裝好了。接下來是PHP的擴充oci8。
安裝oci8擴充包
關於oci8的安裝方法,在PHP官方文件中有詳細的介紹,線上網址http://php.net/manual/en /oci8.installation.php。我這裡選用pecl安裝。直接執行指令:
pecl install oci8
注意,如果你跟我一樣使用的也是PHP7.0以上的版本,那麼就使用上面的指令。如果是其他版本,可以看到pecl的oci8頁面有相關說明:
Use 'pecl install oci8-2.0.12' to install for PHP 5.2 - PHP 5.6. Use 'pecl install oci8-1.4.10' to install for PHP 4.3.9 - PHP 5.1
在執行安裝指令後,會提示輸入instant client路徑,原文提示為:
Please provide the path to the ORACLE_HOME directory. Use 'instantclient,/path/to/instant/client/lib' if you're compiling with Oracle Instant Client [autodetect] :
預設路徑為/usr/lib/oracle/11.2/client64/lib。注意,要在前面加上instantclient,完整輸入為:
instantclient,/usr/lib/oracle/11.2/client64/lib
我第一次安裝的時候,沒有仔細閱讀,只看到最後的autodetect便直接回車了,導致後面測試連接數據庫失敗。等待安裝好後,還需要最後一步,便是在php.ini中加入配置extension=oci8.so或另起一個.ini文件,重啟php-fpm:
service php-fpm restart
現在,你便可以連接Oracle資料庫了,本地開發環境也建置好了。
以上是PHP+Oracle本地開發環境搭建的詳細內容。更多資訊請關注PHP中文網其他相關文章!