2010-12-07 52 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