2012-03-20 49 views
0

我在安裝GD庫時遇到問題。我正在使用PHP 5.2.14的IIS服務器。我在php.ini中取消註釋extension=php_gd2.dllPHP中未安裝GD2庫

這是錯誤:

gd: Unable to initialize module 
Module compiled with module API =20060613 
PHP compiled with modlule API = 20090626 
These options need to match 
    in Unknown on Line 0 

我下載的各種PHP版本,試圖得到正確的DLL,包括線程安全的5.2.14。然後,我會重新啓動我的應用程序池並嘗試加載使用GD庫的文件。是否有其他文件需要gd2的工作?有沒有快速的方法來解決這個問題,而不需要重新安裝PHP?

+0

不要更改您的PHP版本。您需要更新您的GD版本(請注意,GD表示它使用的是2006版api,而您的PHP使用的是api 2009--這是3年的差異)。 – 2012-03-20 18:03:24

+0

正確的,當我使用不同的版本,我得到不同的.dll錯誤。 IE使用5.4我得到一個不同的錯誤。 – woodlumhoodlum 2012-03-20 18:05:48

+0

您必須使用針對相同API版本編譯的模塊。你不能混合/匹配。不要降級你的PHP版本。你最終會得到更少的內置函數,更多的安全漏洞等......升級到更新的GD。 – 2012-03-20 18:07:11

回答

0

首先,iis7配置不正確的PHP - 我尋找一個指導,走過了我。其次,目錄是不正確的,每當我重置iis服務器時,它最初會在使用ISAPI api時說一個目錄 - 但是在2分鐘之後,當使用cgi/fastcgi時,它會說extension_dir在另一個目錄中。所以我創建了它想要的目錄(這與我的任何php.ini不同)。它所需要的是放在C:/ windows目錄下,但即使我已將它設置爲「./ext」,它也想要轉到Program files/PHP--非常奇怪。第三,我必須將IUSR添加到正在使用的任何文件夾的權限。

+0

我有一個類似的問題GD庫根本不加載。我爲IIS安裝了這個擴展http://phpmanager.codeplex.com/releases/view/69115,它運行一個推薦列表。其中一項建議修復了我的GD安裝。我相信這不是指向/ ext目錄,就像喬納森在這個答案中提到的那樣。該IIS擴展修復了配置問題。 – DavGarcia 2012-05-02 02:45:49