2010-11-08 105 views
2

當我在godaddy託管的zend應用程序中訪問模塊/控制器/操作時,我正面臨以下錯誤。如何編輯godaddy IIS託管php.ini?

'The PDO extension is required for this adapter but the extension is not loaded' 

所以我找到了下面的文章來解決這個問題。

http://mnshankar.wordpress.com/2008/10/12/the-pdo-extension-is-required-for-this-adapter-but-the-extension-is-not-loaded/

所以現在我想編輯的php.ini文件來解決託管GoDaddy的問題,但我沒有找到一種方式來獲得它,並對其進行編輯。

有人可以告訴我編輯php.ini文件的步驟,或者我已經創建了我自己的項目php.ini。如果我必須創建我自己的項目的php.ini,那麼我應該在哪裏放置它,以及它應該包含哪些內容。

回答

3

步驟1 放置在Web根文件夾中的phpinfo,以獲取有關該配置文件被加載PHP的信息,以及服務器上的PHP配置的其他細節。

<?php 
    phpinfo(); 
?> 

我們要做

基本上,你必須得到pdo extensions loaded and enabled。的步驟爲其中「通常」如下:

  1. 打開php.ini
  2. 取消對線 延長= php_pdo.dll
  3. 取消對線(取決於所使用的數據庫上) extension = php_pdo_mysql。DLL
  4. 重新啓動Web服務器和有關重新加載頁面

步驟2 對於GoDaddy的,我們並不總是對共享主機負載缺少模塊權限,無法修改php.ini文件或安裝和。替代方案是讓我們自己的php.ini覆蓋默認的php.ini。對於在php 5下的版本,這個文件被命名爲php.ini,對於PHP 5.x它將需要php5.ini。要找出這個php5.ini文件的放置位置,請將一個帶有以下代碼的php文件放在你的web根目錄下。

<?php echo dirname(__FILE__); ?> 

現在放置在Web根文件夾自己php5.ini,並reset the application pool這些更改生效。

如果你得到擴展不加載錯誤類型,然後通過下面的步驟如下

步驟3 我們必須place our extensions在我們步驟2想通了Web根文件夾,特別是部分它建議「的」線在php.ini中添加應指定擴展的完整路徑,例如:

extension=D:\Hosting\2443908\html\extensions\php_pdo.dll 
extension=D:\Hosting\2443908\html\extensions\php_pdo_mysql.dll 

以防萬一你仍然不能使用/負載PDO DL ls,您也可以嘗試通過Zend mysqli adapter連接。

+0

訪問所有上述鏈接後,我感到困惑。你能否提供一些更多的細節。 – Awan 2010-11-11 05:45:27

+0

@Awan:我現在詳細闡述了我的答案,以免您訪問鏈接。 – 2010-11-12 06:02:52

+0

我上傳'php_mysqli.dll'並在** php5.ini中在zend公用文件夾中使用'extension = D:\ Hosting \ 2443908 \ html \ extensions \ php_mysqli.dll',並連接數據庫。 – Awan 2010-11-12 06:36:48

3

您的託管服務提供商必須已經安裝該模塊。沒有共享的網絡託管將允許您編輯php.ini文件。您可以嘗試在您的代碼中使用dl函數,但我真的不認爲您會成功,因爲如果模塊尚未加載,它很可能未安裝在服務器上,因此您無法加載它。

解決方案是要求您的託管服務提供商安裝該模塊,或者如果他們拒絕,則更改爲其他主機。

1

this是谷歌搜索「godaddy託管php.ini」的第一次打擊 - 聽起來像你只需要創建一個php.ini,上傳它和wait some time,直到它被識別。

3

難道是因爲某些原因,您正在運行的網絡空間仍然在PHP 4上?

因爲在PHP 5中,PDO是activated by default。我看不到像Godaddy這樣的託管服務提供商禁用它。

在這種情況下,您將不得不切換到PHP 5 - 也許Godaddy軟件包處於某種兼容模式。 Zend Framework根本無法在PHP 4中運行。

+0

有** PHP 5.x的**和** IIS 7.0 **運行。 – Awan 2010-11-08 10:29:31

+0

@Awan啊,解釋它:它需要在Windows上的PHP.ini中取消註釋。然後你需要電子郵件支持,並要求他們這樣做。 – 2010-11-08 10:30:20

+0

@Pekka:是的,我必須編輯** php.ini **文件,但沒有找到方法。有人問我創建我自己的php5.ini文件,在其中寫入pdo擴展語句並將其上傳到我的根目錄,但它不起作用。可能是我錯過了一些東西。根目錄是主項目文件夾或應用程序文件夾還是公用文件夾是zend應用程序?郵寄給他們關於這個問題對我來說將會遲到。謝謝 – Awan 2010-11-08 10:34:26