Windows下的PHP擴充套件

2021-07-16 04:59:12 字數 2479 閱讀 7233

本來想吐槽點什麼,算了,直接進入主題吧。
安裝php並擴充套件。(我使用的php版本是php-5.3.10)

3) 命令列就如c:\php-5.3.10,輸入buildconf.bat。
4) 輸入cscript/nologo configure.js --with-php-build=

"../win32build"

--without-libxml  --disable-odbc。

回車後報錯:

沒有找到cl.exe。我機器上安裝了vs2010,所以可以c:\program files\microsoft visual studio 10.0\vc\bin目錄下找到cl.exe,因此將c:\program files\microsoft visual studio 10.0\vc\bin加入系統環境變數。繼續執行語句,依然報錯:

提示缺少dll檔案,mspdb100.dll檔案可在c:\program files\microsoft visual studio 10.0\common7\ide目錄下找到,複製到vc\bin目錄下即可。

繼續執行語句,成功。在c:\php-5.3.10\main目錄下生成config.win32.h檔案。

因為我的php二進位制版本是vc9編譯的,所以編譯擴充套件模組也應該通過vc9,修改config.win32.h:

修改為:

5) 進入ext目錄,複製skeleton資料夾並重命名為要擴充套件的名字,如myextension。

6) 進入myextension目錄,將php_skeleton.h/skeleton.c/skeleton.dsp分別重新命名為php_myextension.h/myextension.c/myextension.dsp。並將這3個檔案中的所有'extname'替換為'myextension','extname'替換為『myextension』,注意匹配大小寫。

7) 編輯php_myextension.h檔案(紅色方框部分為所新增的內容)。

8) 編輯myextension.c檔案

(紅色方框部分為所新增的內容)。

9) 將c:\php-5.3.10\dev\php5ts.lib拷貝到myextension目錄下,用vs2010開啟myextension.dsp工程,進行工程轉換並生成dll檔案。生成的擴充套件dll檔案為:c:\php-5.3.10\release_ts\php_myextension.dll。

這裡可能會出現問題:

fatal error c1902: 程式資料庫管理器不匹配;請檢查安裝解決。

解決辦法:將

c:\program files\microsoft visual studio 10.0\common7\ide目錄下的msobj100.dll/mspdbcore.dll/mspdbsrc.exe拷貝到

c:\program files\microsoft visual studio 10.0\vc\bin目錄下。

10) 將php_myextension.dll拷貝到c:\php-5.3.10\ext目錄下。

11) 配置php.ini。進入

c:\php-5.3.10\目錄。複製php.ini-production並重命名為php.ini。在php.ini中新增兩行:

extension_dir = "ext"

extension=php_myextension.dll

extension_dir = "ext"

extension=php_myextension.dll

12) 命令列進入c:\php-5.3.10,輸入命令:php -r "echo myaddfunc(1,2);"

如果命令列列印出3則php擴充套件成功。 

好了,弄這玩意弄到**~ 尊重一下別人的勞動成果:以下是一些參考**:

windows下製作PHP擴充套件

編譯php擴充套件必需的一些標頭檔案需要從php原始碼中獲取,其中有一些配置性的標頭檔案,需要做到下面第8步之後,也就是說php伺服器程式可以使用別人已經編譯好的安裝包。最近在學習編寫php拓展,懶得裝linux,就研究了一下在windows下編譯php的方法,總算搭建好了在windows下開發ph...

windows下製作PHP擴充套件

編譯php擴充套件必需的一些標頭檔案需要從php原始碼中獲取,其中有一些配置性的標頭檔案,需要做到下面第8步之後,也就是說php伺服器程式可以使用別人已經編譯好的安裝包。最近在學習編寫php拓展,懶得裝linux,就研究了一下在windows下編譯php的方法,總算搭建好了在windows下開發ph...

Windows下PHP擴充套件redis的安裝

我使用的是phpstudy整合環境 執行模式 php 7.2.1 nts apache 訪問http localhost phpinfo.php檢視architecture引數 這裡的x86就決定了我們要下哪個版本的redis擴充套件 搜尋extension php bz2.dll,在上面新增 ph...