我已經問過這個地方,但那裏的人似乎不明白我在說什麼。我可以在不是DLL文件的Windows上添加PHP擴展嗎?
當我進入PECL網站時,發現那裏的所有擴展名都在TGZ文件中。
這不是問題,任何現代存檔程序都可以打開它。
裏面總是一個.tar文件,裏面是源文件。 那麼,我該怎麼做?我對使用pecl_http擴展特別感興趣,但我不知道該怎麼做。
注意:.TAR文件中沒有DLL文件。沒有一個,沒有一個。你找到的只是C代碼和C頭文件。
我已經問過這個地方,但那裏的人似乎不明白我在說什麼。我可以在不是DLL文件的Windows上添加PHP擴展嗎?
當我進入PECL網站時,發現那裏的所有擴展名都在TGZ文件中。
這不是問題,任何現代存檔程序都可以打開它。
裏面總是一個.tar文件,裏面是源文件。 那麼,我該怎麼做?我對使用pecl_http擴展特別感興趣,但我不知道該怎麼做。
注意:.TAR文件中沒有DLL文件。沒有一個,沒有一個。你找到的只是C代碼和C頭文件。
如果沒有.DLL提供的,你必須編譯它:-(
有一個pecl4win網站前一段時間,但它的下跌;而新http://windows.php.net/沒有擴展它尚未(有工作正在進行,但窗戶並不是的平臺PHP developpers,也沒有核心developpers選擇的,所以它不會真的快)
你說這樣的:
.TAR 文件中沒有DLL文件。無論如何,沒有一個 之一。您只需找到C代碼和C 標題。
這意味着你將不得不自己編譯的擴展:-((也許你會得到幸運和地方適合您的PHP版本找到一個.dll;一些擴展,像Xdebug,有那些他們的官方網站上,至少在最近版本的PHP的...但它:-(並非總是如此)
要編譯PECL擴展的窗戶,你可以在這些鏈接看看:
總之......祝你好運......
一點題外話:如果我沒有記錯,在PHP的安裝程序用於Windows的捆綁一些PECL擴展;也許這是其中之一?
感謝您的鏈接。我正在使用WAMPserver,並且發現它們的5.2.9-2版本有117個擴展,而它們的5.3.0版本有31個擴展...... – KdgDev 2009-07-26 21:38:49
在Windows前端正在改進,但你絕對正確;它仍然是php世界中的第二流操作系統。 – troelskn 2009-07-26 22:01:52
@WebDevHobo>我還沒有在windows上安裝PHP一段時間,但也許是因爲PHP 5.3還很年輕(畢竟它是一個「.0」),這可能只是解釋了一些擴展已經過足夠的測試通過「官方」渠道分發。如果您的計算機足夠好,可以在虛擬機(使用VMWare或VirtualBox)中安裝Apache + PHP,運行Linux,並保持您的IDE,瀏覽器和一切都在你的窗戶上「真實」的機器...更好的兩個世界,就像你會說的那樣^^ – 2009-07-26 22:25:06
插件幾乎總是使用共享庫(a.k.a.動態庫)實現,包含在運行時動態加載的函數。在Windows上,共享庫是DLL,這就是爲什麼PHP的所有擴展(即插件)都以一個或多個DLL文件的形式出現的原因。如果給出插件的源代碼,則需要將源代碼(即編譯並鏈接它)構建到DLL或DLL中。
您如何構建源代碼取決於特定的插件。一個設計良好的源代碼包將附帶一個「README」文件,用於解釋如何構建該包。如果包中包含一個名爲「配置」,另一個名爲「Makefile的」文件,然後構建過程幾乎總是調用:
./configure make sudo make install
在Windows中,上面的命令必須使用Cygwin被調用。如果軟件包包含Visual Studio項目文件,那麼您可以使用該軟件包構建源代碼包。
有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)。
你是指這個網站:http://us2.php.net/get/pecl-5.2.6- Win32.zip/from/a/mirror ??? – KdgDev 2009-07-26 23:38:13
您可能會嘗試使用爲早期版本的PHP編譯的dll,如果有的話。有些人可能會工作(這取決於他們掛鉤的運行時間部分)。 – troelskn 2009-07-26 22:03:22