0

我在其他地方问过这个问题,但那里的人似乎不明白我在说什么。

当我访问 PECL 网站时,找到的所有扩展都在 TGZ 文件中。
这不是问题,任何现代存档程序都可以打开它。

里面总是一个 .tar 文件,里面是源文件。那么,我该怎么办呢?我对使用 pecl_http 扩展特别感兴趣,但我不确定该怎么做。

注意:.TAR 文件中没有 DLL 文件。一个都没有,一个都没有。你找到的只是 C 代码和 C 头文件。

4

3 回答 3

5

如果没有提供 .dll,你必须编译它:-(

前段时间有一个pecl4win网站,但是已经关闭了;并且新的http://windows.php.net/上还没有扩展(有工作正在进行,但 windows 不是PHP 开发人员首选平台,也不是核心开发人员,所以它的速度不是很快)。

你这样说:

.TAR 文件中没有 DLL 文件。一个都没有,一个都没有。你找到的只是 C 代码和 C 头文件。

这意味着您必须自己编译扩展 :-( (也许您会很幸运,并在适合您的 PHP 版本的地方找到一个 .dll ;某些扩展,例如Xdebug,在他们的官方网站上有这些,至少对于PHP 的最新版本......但情况并非总是如此 :-( )

要使用 windows 编译 PECL 扩展,您可以查看以下链接:

总之……祝你好运……

作为旁注:如果我没记错的话,Windows 的 PHP 安装程序捆绑了一些 PECL 扩展;也许这就是其中之一?

于 2009-07-26T21:33:22.873 回答
2

有适用于 Windows 的pecl库集合,它们要么附加(作为单独的链接)在 PHP 下载页面(名为 XYZ-win32-pecl.zip 或类似名称)上,要么以某种方式链接(例如,最新的 PHP5 可以使用 PECL来自以前的 5.X 设置,下载页面上是这样说的)。

如果您得到的只是源代码,您将需要自己构建这些。

a) 下载 PHP 源代码(构建库并将它们链接到 Windows 上的 PHP 所需的大量头文件),

b) 下载您要构建的扩展,并将它们放在 /phpsource/src/ext/ 文件夹中,

c) 准备您最喜欢的 C/C++ IDE(我更喜欢使用 VisualC++ 6.0,其唯一目的是在 Windows 上编写 PHP 扩展)

d) 构建环境,最后

e) 建造 ;-)

请注意您将需要 PHP[ver]debug_ts.lib 或 PHP[ver]release_ts.lib 来正确链接它们。

Unless You're building them for PHP 4.4.4 (which I use to develop .exe apps using BamCompile - a roundabout way, but it works magic), in which case just send Your source code to me, I'll build it for You if I have time. ;-) Also chances are, the extension You're looking for HAS a .dll built for it already. Just take the name of the extension, and search Google for " php_NameOfTheExtension.dll PHPYourPHPVersionNumber " and You just might find it (although a few, like php_openAl.dll don't exist as .dll).

于 2009-07-26T22:23:34.270 回答
1

插件几乎总是使用共享库(也称为动态库)实现,其中包含在运行时动态加载的函数。在 Windows 上,共享库是 DLL,这就是为什么 PHP 的所有扩展(即插件)都以一个或多个 DLL 文件的形式出现。如果您获得了插件的源代码,您需要将源代码构建(即编译和链接)到 DLL 或 DLL 中。

您构建源代码的具体方式取决于特定的插件。精心设计的源代码包将附带一个“README”文件,详细说明如何构建该包。如果包包含一个名为“configure”的文件和另一个名为“Makefile”的文件,那么构建过程几乎总是要调用:

。/配置
制作
须藤使安装

在 Windows 上,必须使用 Cygwin 调用上述命令。如果包包含 Visual Studio 项目文件,那么您可能可以使用该构建源包。

于 2009-07-26T21:34:03.837 回答