我們?cè)?Windows Server 2016 Standard 上有一個(gè) IIS,它通過(guò)快速 cgi 使用 php 7.3.4 32 位。為了建立到另一臺(tái)服務(wù)器上的 oracle 12cR1 數(shù)據(jù)庫(kù)的連接,我們使用 php_oci8_12c.dll 和 oracle 客戶端 12.1.0 32 位。這太棒了?,F(xiàn)在我們想切換到php 64bit,但是對(duì)于一些老項(xiàng)目我們還是需要32bit的php和oracle客戶端。所以我們進(jìn)行如下操作:1.卸載oracle客戶端2.安裝oracle客戶端12.1.0 64位(安裝類(lèi)型:管理)C:\Oracle\product\12.1.0\client_x643.重啟服務(wù)器4.配置網(wǎng)絡(luò)管理器5.安裝oracle客戶端12.1.0 32位(安裝類(lèi)型:管理)在C:\Oracle\product\12.1.0\client_x864. 重啟服務(wù)器5. 配置網(wǎng)絡(luò)管理器6. 下載帶有 64 位擴(kuò)展的 php 7.3.4 64 位現(xiàn)在我們有兩個(gè) php 文件夾:C:\php7_3_4_x86C:\php7_3_4_x64此時(shí)IIS使用C:\php7_3_4_x86\php-cgi.exe和32位oracle客戶端,因?yàn)槭亲钚掳惭b的客戶端,路徑是PATH變量中所有路徑的第一個(gè)?,F(xiàn)在我們要臨時(shí)切換到 64 位。所以我們嘗試以下步驟:1. 將 IIS 處理程序更改為 C:\php7_3_4_x64\php-cgi.exe2. 交換環(huán)境變量 PATH 中的 oracle 客戶端路徑?,F(xiàn)在是:C:\Oracle\product\12.1.0\client_x64;C:\Oracle\product\12.1.0\client_x86;[...]3. 重啟服務(wù)器重新啟動(dòng)后,我們嘗試在瀏覽器中打開(kāi)一個(gè) php 文件,但出現(xiàn)以下錯(cuò)誤:Call to undefined function oci_connect如果我們將 oci.dll 從C:\Oracle\product\12.1.0\client_x64\BIN直接放入C:\php7_3_4_x64它加載文件。所以我們認(rèn)為它找不到64位客戶端。我們還嘗試了在 C:\Windows\system32 / SYSWOW64 中創(chuàng)建鏈接的方法,但這不起作用。同樣的錯(cuò)誤。我們能做什么?我們需要在 32 位和 64 位 php+oracle 之間切換的可能性。
在同一臺(tái)服務(wù)器上使用帶有 64 位 oracle 客戶端的
www說(shuō)
2021-07-07 10:57:56