2009-07-26 44 views
0

我已经问过这个地方,但那里的人似乎不明白我在说什么。我可以在不是DLL文件的Windows上添加PHP扩展吗?

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

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

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

+0

您可能会尝试使用为早期版本的PHP编译的dll,如果有的话。有些人可能会工作(这取决于他们挂钩的运行时间部分)。 – troelskn 2009-07-26 22:03:22

回答

4

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

有一个pecl4win网站前一段时间,但它的下跌;而新http://windows.php.net/没有扩展它尚未(有工作正在进行,但窗户并不是平台PHP developpers,也没有核心developpers选择的,所以它不会真的快)

你说这样的:

.TAR 文件中没有DLL文件。无论如何,没有一个 之一。您只需找到C代码和C 标题。

这意味着你将不得不自己编译的扩展:-((也许你会得到幸运和地方适合您的PHP版本找到一个.dll;一些扩展,像Xdebug,有那些他们的官方网站上,至少在最近版本的PHP的...但它:-(并非总是如此)

要编译PECL扩展的窗户,你可以在这些链接看看:

总之......祝你好运......

一点题外话:如果我没有记错,在PHP的安装程序用于Windows的捆绑一些PECL扩展;也许这是其中之一?

+0

感谢您的链接。我正在使用WAMPserver,并且发现它们的5.2.9-2版本有117个扩展,而它们的5.3.0版本有31个扩展...... – KdgDev 2009-07-26 21:38:49

+0

在Windows前端正在改进,但你绝对正确;它仍然是php世界中的第二流操作系统。 – troelskn 2009-07-26 22:01:52

+0

@WebDevHobo>我还没有在windows上安装PHP一段时间,但也许是因为PHP 5.3还很年轻(毕竟它是一个“.0”),这可能只是解释了一些扩展已经过足够的测试通过“官方”渠道分发。如果您的计算机足够好,可以在虚拟机(使用VMWare或VirtualBox)中安装Apache + PHP,运行Linux,并保持您的IDE,浏览器和一切都在你的窗户上“真实”的机器...更好的两个世界,就像你会说的那样^^ – 2009-07-26 22:25:06

1

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

您如何构建源代码取决于特定的插件。一个设计良好的源代码包将附带一个“README”文件,用于解释如何构建该包。如果包中包含一个名为“配置”,另一个名为“Makefile的”文件,然后构建过程几乎总是调用:

 
./configure 
make 
sudo make install 

在Windows中,上面的命令必须使用Cygwin被调用。如果软件包包含Visual Studio项目文件,那么您可以使用该软件包构建源代码包。

2

ARE的Windows PECL库集合,和他们要么追加(作为一个单独的链接)PHP下载页面(名为XYZ-win32-pecl.zip或类似的),或者以某种方式连接(例如,最新的PHP5可以使用先前5.X设置中的PECL,并在下载页面上说明)。

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

一)下载PHP源代码(很多建库并将其链接到PHP在Windows上)所需的头,

B)下载您要建立的扩展,并把它们放在/ phpsource/SRC/EXT /文件夹,

三)准备你最喜欢的C/C++ IDE(我更喜欢使用VISUALC++ 6.0编写在Windows上的PHP扩展)

d)使构建环保,无毒的唯一目的,最后e)建立;-)

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

除非您正在为PHP 4.4.4构建它们(我使用BamCompile开发.exe应用程序 - 这是一种迂回的方式,但它有效),在这种情况下,只需将您的源代码发送给我,如果我有时间的话,我会为你建造它。 ;-)也有可能是,你正在寻找的扩展HAS已经为它建立了一个.dll。只需以扩展名为名,并搜索Google“php_ NameOfTheExtension.dll .dll PHP YourPHPVersionNumber”,您可能会发现它(尽管少数,如php_openAl.dll不存在.dll)。

+0

你是指这个网站:http://us2.php.net/get/pecl-5.2.6- Win32.zip/from/a/mirror ??? – KdgDev 2009-07-26 23:38:13

相关问题