2011-06-11 141 views
2

我目前正在嘗試編寫一個PHP腳本來連接到Oracle數據庫。我使用PHP的原因是因爲我需要將Oracle數據庫連接到使用PHP/MySQL編寫的當前CRM系統。到Oracle數據庫的PHP連接

PHP託管於1 & 1託管,這是一個外部服務器。我讀過,我需要啓用擴展php_oci8.dll連接使用oci_connect(),但我不能這樣做,因爲我沒有root權限。做了搜索,並找不到DLL。

是否有其他解決方法?任何幫助非常感謝,請讓我知道,如果你需要更多的信息。謝謝!

回答

1

1)1 & 1將有Linux,因此您將不得不使用linux名稱作爲擴展名。在這種情況下,擴展的名字將是php_oci8.so

2)創建在根目錄下的php.ini,並把下面一行 extension=php_oci8.so

3)創建一個簡單的PHP腳本一行來測試它的工作原理: <?php phpinfo(); ?>

請注意 - 1 & 1可能實際上沒有在其服務器上可用的文件(或該擴展可能需要的一些附加庫)。如果問題只是沒有.so文件,那麼你可以提供你自己的版本(上傳它,並把正確的完整路徑擴展到php.ini)

有用的鏈接:1)http://faq.1and1.com/scripting_languages_supported/php/6.html 2)http://faq.1and1.com/scripting_languages_supported/php/8.html

+0

似乎在1&1中沒有php_oci8.so擴展。我在php.ini中添加了一行:'extension = php_oci8.so',並運行了phpinfo(),但沒有顯示出來。可以肯定的是,我也運行了extension_loaded(),它也失敗了。我在哪裏可以找到這個php_oci8.so文件?我試過谷歌,但找不到它。我是否需要root權限才能將文件安裝爲包?感謝您的幫助:) – Shiroi98 2011-06-13 16:30:15

+0

那麼,您可以自己編譯它,或從已編譯的PHP安裝包中獲取它(對不起,我不是linux用戶)。但我建議首先聯繫1&1 - 通常他們非常擅長回答問題 - 至少他們可以告訴你他們是否可以在這裏提供幫助(提供專門爲他們的機器編譯的文件)或者根本不可能。我上面的答案只是一般性的方法,如果你有所有必要的文件,它肯定會有效。 – LazyOne 2011-06-13 16:36:35

+0

打了一個電話給1&1,似乎我需要一個具有Root權限的專用服務器,並配置php_oci8自己..我希望這不是唯一的選擇。你碰巧知道Oci8是否是PHP和Oracle之間的唯一接口?感謝您的幫助:) – Shiroi98 2011-06-13 17:44:10

0

請檢查有沒有空格。 1.將php.ini和php_oci8.so放在您要運行要訪問數據庫的php程序的相同文件夾中。 2. php.ini的內容應該如下所示:

extesion=./php_oci8.so