用于php扩展创建的VC编译器版本

时间:2010-12-07 21:58:19

标签: php c compiler-construction

我使用Visual Studio 2008(visual c)来创建php扩展,因此在编写c代码并编译整个项目之后,在调试文件夹中生成了一个dll文件。 我将这个dll文件复制到php / ext文件夹(extensions文件夹),我在php.ini

中添加了这一行
  

extension = php_talkphp.dll(php_talkphp.dll是dll名称)

然后我重新启动apache服务器来初始化php扩展。但是发生了错误:这是错误消息:

alt text

我知道这是由于编译器版本,但我如何在VS2008中使用Vc6版本?

谢谢

1 个答案:

答案 0 :(得分:1)

您需要使用与PHP安装相同的编译器构建的扩展。

在这种情况下 - 您正在使用使用Visual C ++ 6构建的PHP安装,这是一个非常古老的编译器。您的扩展是使用Visual C ++ 9.0构建的,这是更新的。

您不能混合使用不同VC编译器构建的扩展和PHP安装。

可能的解决方案:

  • 获取使用Visual C ++ 6构建的TalkPHP扩展,并使用VC6构建自己的扩展。你可能很难得到这个,因为它是一个不受支持的,不可用的编译器。

  • 安装使用Visual C ++ 9.0构建的PHP版本。然而,这将引入不同的问题:
    1. 您将需要切换到使用IIS或使用使用Visual C ++ 9.0构建的apache版本。 Apache Lounge has them
    2. 如果您还没有安装Visual C++ 9.0 Runtime,则必须安装。