【问题标题】:PECL extension for Windows适用于 Windows 的 PECL 扩展
【发布时间】:2011-01-04 03:13:04
【问题描述】:

我在这里找到了一些相关的帖子,但没有得到我的答案。所以再次发帖。
如何在 Windows 上安装 PECL 扩展?假设我想要 Windows XP 上的 PECL oAuth 扩展。
我知道 2 种方法,但它们都不适合我。

  1. 网站http://pecl4win.php.net/ 已关闭数月。所以我不能下载DLL。有什么地方可以下载DLL吗?

  2. 运行命令 pecl install oauth-0.99.9.tgz 抛出错误
    DSP oauth.dsp 不存在。
    我也尝试了其他一些扩展并得到了同样的错误。

我在这里错过了什么?

【问题讨论】:

    标签: php dll pecl


    【解决方案1】:

    现在可以在这里找到版本:
    http://windows.php.net/downloads/pecl/releases/

    如果你需要一个没有可用的扩展,你可以在 pecl-dev 上的 list.php.net 邮件列表中询问。

    【讨论】:

    • 由于扩展的源很容易获得,而不是直接提供特定的dll,如果您发布有关如何从源构建pecl扩展dll的详细指南会更好。我找了几篇关于这方面的文章,但仍然不是很清楚。
    • wiki.php.net/internals/windows/stepbystepbuild 有一些说明。正如我在这里对另一个答案的评论中所说:Windows 上的构建系统目前不允许独立构建扩展,但 oyu 必须从 PHP 源代码树构建。要添加 oauth,您要么必须在运行 buildconf.bat 之前将源代码放在 php-src/ext/oauth 下,要么对 buildconf.bat 使用 --extra-ext-dir(或类似)选项。
    • 两年后更新了我之前的评论:同时有一个类似于 Unix 的“phpize”工具,可以从二进制“开发”下载中获得。构建 PECL 扩展通常仍然不是一件容易的事,因为许多开发人员不在 Windows 上进行测试,这需要一些采用,尤其是在使用 3rd 方库时
    【解决方案2】:

    我在http://windows.php.net/downloads/pecl/releases/找到了我想要的东西

    【讨论】:

      【解决方案3】:
      【解决方案4】:

      目前 Windows 的 PECL 处于奇怪的重组状态。原因是我相信他们正在尝试提供 VS2008 源代码版本。我实际上建议现在使用Zend Server,直到 php 组的 windows 一半得到修复。 Zend Server 包含几乎所有你可以在 PECL 中找到的扩展,以及其他所有内容,如果你幸运,你可以自己找到一个编译器。

      【讨论】:

      • 那么我们可以说 Zend 这样做是为了一些可能的未来金钱收益吗?
      • @Pacerier Zend 不拥有 PHP,PHP 使用 Zend 引擎。 windows php 组是一个开源组。也就是说,Zend Server 是 Zend 的一个企业解决方案,用于获取金钱收益。这可能就是他们将最常见的模块添加到 Zend Server for windows 的原因。
      【解决方案5】:

      php 源附带了一组 windows 配置脚本(使用 windows 脚本主机),就 php 而言,它模仿了 autoconf 工具。如果您将扩展的代码放在 /ext 目录下的目录中(所有其他扩展,如 bcmath、bzip、... 都位于该目录中),您可以让 buildconf-script 创建一个包含构建规则的 makefile对于那个(新)扩展。
      http://wiki.php.net/internals/windows/stepbystepbuild 有一步一步的演练,看起来很简短但可行。

      【讨论】:

      • 你说的是 Unix 而不是 Windows。在 Windows 上不构建所有 PHP 的情况下单独构建扩展是不可能的。
      • 是的,我故意含糊地说“创建一个包含构建规则的生成文件”。所以呢?将核心和您想要的扩展构建为共享模块,确保配置参数与您正在使用的 php 包的配置参数匹配,然后将 .dll 与“常规”php 安装一起使用。可能更容易,但这不是火箭科学,是吗? mailparse 扩展甚至不依赖于外部库。
      【解决方案6】:

      PECL 安装程序会下载扩展的源代码并尝试使用本地 C 编译器对其进行编译。问题是整个过程是为 Unix 系统设计的,那里有一个 C 编译器,或者可以很容易地安装。在 Windows 下设置编译 C 代码的环境相当复杂。

      理想的解决方案是获取某人已经编译的 DLL 文件。这就是 pcle4win 网站的用途。但是,目前没有下载 PECL DLL 的官方存储库,因此您只有两种选择:

      如果有一个 DLL 存储库,那就太好了,但我不知道。

      【讨论】:

        猜你喜欢
        • 2011-12-03
        • 1970-01-01
        • 2020-09-21
        • 1970-01-01
        • 2010-12-31
        • 2011-01-07
        • 1970-01-01
        • 2013-05-25
        • 2013-12-15
        相关资源
        最近更新 更多