【问题标题】:Do i have to compile a PHP extension on Windows to use it with Windows?我是否必须在 Windows 上编译 PHP 扩展才能在 Windows 上使用它?
【发布时间】:2011-11-07 21:23:21
【问题描述】:

我正在尝试在 Windows 7 上编译“hello world”类型扩展,但遇到了各种问题。我的最终目标是将编译后的扩展与 PHP 一起使用(使用 wampserver2)。

是否可以在 Linux 上编译该扩展,并且仍然可以在 Windows 上运行?

我注意到 WAMP/PHP 中 ext 文件夹中的所有扩展名都是 .dll。有没有办法在 linux 机器上为 Windows 生成 DLL,还是我也必须在 Windows 上编译?

【问题讨论】:

  • 交叉编译是可能的,但是你基本上需要一个windows dev。 linux系统上的环境(例如Wine)供编译器使用。使该工作达到最终 .dll 在真实 Windows 系统上工作的程度所涉及的努力很可能不值得。
  • @Marc B,所以基本上如果有人有一个扩展,他们想在 linux 和 windows 上运行(对于 wampserver 等),他们必须编译两次,一次在 Windows 上,一次在Linux。我做对了吗?我的意思是,我不能只使用 linux 编译,并且以某种方式让它在 Windows 上也能开箱即用。对吗?
  • 是的,两种不同的编译。 linux 编译将使用 libc 函数等,Windows 编译将使用 Win32 或其他。将 .so 文件重命名为 .dll 可不是一件简单的事情。

标签: php windows dll compilation php-extension


【解决方案1】:

可以进行交叉编译,但是您需要在 linux 系统(例如 Wine)上有一个基本的 Windows 开发环境,以便编译器使用。为使最终的 .dll 能够在真正的 Windows 系统上工作而付出的努力很可能不值得。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-12
    • 2012-01-01
    • 2022-01-10
    • 1970-01-01
    • 2020-09-28
    • 2021-09-11
    • 2011-05-06
    相关资源
    最近更新 更多