2010-01-12 113 views
15

我在这里发现了一些相关的帖子,但没有得到我的答案。所以再次张贴。
我将如何在Windows上安装PECL扩展?假设我想要Windows XP上的PECL oAuth扩展。
我知道2种方法,但他们都没有为我工作。Windows的PECL扩展

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

  2. 运行命令 PECL安装OAuth的0.99.9.tgz抛出的DSP oauth.dsp不存在错误

    我尝试了几个其他扩展也得到相同的错误。

我在这里错过了什么?

回答

17

发布,现在可以在这里找到:
http://windows.php.net/downloads/pecl/releases/

如果中没有您需要有你可能会问上在lists.php.net邮件列表PECL-dev的一个扩展。

+1

由于扩展的源代码很容易获得,因此不用直接提供特定的dll,而是直接发布关于如何从源代码构建pecl扩展dll的详细指南。 我在这方面找到了一些文章,但仍不是很清楚。 – Varun 2010-01-15 14:03:07

+2

http://wiki.php.net/internals/windows/stepbystepbuild有一些说明。正如我在这里对另一个答案的评论中所说:Windows上的构建系统目前不允许构建扩展单独使用,但oyu必须从PHP源代码树构建。 要添加oauth,您必须在运行buildconf.bat之前将源文件放在php-src/ext/oauth中,或对buildconf.bat使用--extra-ext-dir(或类似的)选项。 – johannes 2010-01-16 15:16:39

+0

两年后,我对之前的评论进行了更新:同时还有一个“phpize”工具,类似于Unix下载的“开发”下载的Unix工具。构建PECL扩展通常仍然不是微不足道的,因为许多开发人员不需要在Windows上测试,这需要一些采用,特别是在使用第三方库 – johannes 2012-05-15 13:31:16

1

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

理想的解决方案是获取某人已编译的DLL文件。这就是pcle4win网站的用途。然而,目前尚无官方信息库下载PECL的DLL,所以你只有两个选择:

这d很酷,有一个DLL库在那里,但我不知道任何。

1

这个php源代码提供了一套windows配置脚本​​(使用windows脚本主机),它可以模拟autoconf工具,就php而言。如果将扩展的代码放在/ ext目录(其中所有其他扩展名如bcmath,bzip,...所在的目录)下的目录中,则可以让buildconf -script创建一个包含该构建规则的生成文件(新)扩展。
http://wiki.php.net/internals/windows/stepbystepbuild有一步一步走过,这似乎是简短但可行的。

+1

你说的Unix而不是Windows。无法在Windows上构建所有PHP的情况下独立构建扩展是不可能的。 – johannes 2010-01-12 18:32:14

+0

是的,我故意含糊地说“创建一个包含构建规则的makefile”。所以呢?构建核心,并将其作为共享模块的扩展,确保配置参数与您正在使用的php包的配置参数匹配,然后将.dll与“常规”php安装配合使用。可能会更容易,但它不是火箭科学,是吗? mailparse扩展甚至不依赖于外部库。 – VolkerK 2010-01-12 20:48:14

2

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

+0

那么我们可以说Zend是为了一些可能的未来货币收益而进行的吗? – Pacerier 2014-10-26 18:56:14

+0

@Pacerier Zend不拥有PHP,PHP使用Zend引擎。 windows php组是一个开源组。也就是说,Zend Server是Zend的一个企业解决方案,可以带来收益。这可能是为什么他们将最常用的模块添加到Zend Server for Windows的原因。 – 2014-10-30 19:43:11