2010-12-07 59 views
1

我已經使用Visual Studio 2008(visual c)創建了一個php擴展,因此在編寫c代碼並編譯整個項目之後,在debug文件夾中生成了一個dll文件。 我複製此dll文件到PHP/ext文件夾(擴展文件夾)和I在php.ini加入這一行用於php擴展創建的VC編譯器版本

延長= php_talkphp.dll(php_talkphp.dll是DLL名稱)

然後我重新啓動Apache服務器來初始化PHP擴展。但錯誤已經發生:這是錯誤消息:

alt text

我知道,這是由於編譯器的版本,但我怎麼能在VS2008使用VC6版本?

謝謝

+0

也許我的問題需要一些解釋! – SmootQ 2010-12-07 22:08:43

回答

1

您需要使用與您的PHP安裝使用相同編譯器構建的擴展。

在這種情況下 - 您正在使用Visual C++ 6構建的PHP安裝,這是一個令人難以置信的舊編譯器。你的擴展是用Visual C++ 9.0構建的,這個更新。

您不能混合使用不同VC編譯器構建的擴展和PHP安裝。

可能的解決方案:

  • 獲取TalkPHP擴展使用Visual C++ 6建成,並用VC6建立你自己的。由於這是一個不受支持的,不可用的編譯器,因此您可能很難得到它。

  • 安裝一個版本的PHP構建與Visual C++ 9.0。然而,這會引入不同的問題:
    1. 您將需要切換到使用IIS或使用使用Visual C++ 9.0構建的apache版本。 Apache Lounge has them
    2. 如果您尚未擁有它,則必須安裝Visual C++ 9.0 Runtime
+0

感謝您的回覆,但是不可能將VC6編譯器添加到VC++ 9? – SmootQ 2010-12-08 10:47:56