本來想吐槽點什麼,算了,直接進入主題吧。
安裝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...