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

问题描述 投票:0回答:1

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

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

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

alt text

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

谢谢你

php c visual-c++
1个回答
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 有它们
    2. 如果您还没有安装 Visual C++ 9.0 Runtime,则必须安装它。
© www.soinside.com 2019 - 2024. All rights reserved.