Windows WAMP PHP 擴充開發
1.開發準備
安裝WAMP,使用的版本為WampServer Version 2.5,其中PHP的版本為5.5.12。
WAMP安裝目錄:D:wamp
apache目錄:D:wampbinapache
php目錄:D:wampbinphp
下載PHP-5.5.12源碼包,解壓縮到任意目錄。例如:E:php-5.5.12
2.透過phpinfo()查詢php版本的編譯的相關信息,主要查看:
CompilerMSVC11 (Visual C++ 2012)
Architecturex8620120320 ,TS,VC11
PHP Extension BuildAPI20121212,TS,VC11
從以上的資訊可以看出WampServer 2.5中的php是透過MSVC11(VS2012)在x86(win32) 編譯且設定了屬性。 所以在編譯擴充插件時也需要使用相同的編譯環境及TS設定(預設值為TS)3.產生編譯外掛時需要的config.w32.h檔案
開啟「VS2012 開發人員指令提示」並進入E :php-5.5.12目錄;
執行buildconf.bat指令,該指令在目前目錄下產生configure.js檔;
執行configure指令,產生E:php-5.5.12mainconfig.w32.h檔。
如果執行過程中出現bison相關的錯誤,表示你沒有安裝bison,可以開啟configure.js檔案並註解如下三行,再重新執行configure指令。
if (!PATH_PROG('bison')) {
ERROR('bison is required')
} 為什麼可以這樣做,因為我們不需要編譯PHP,只需要產生config.w32.擴充插件。 4.插件編譯文件準備
進入E:php-5.5.12ext目錄,複製E:php-5.5.12extskeleton目錄並重命名為你所需要開發插件的名字,如my_plugin;
將php_skeleton.h,skeleton.c和skeleton.dsp重新命名為php_my_plugin.h,my_plugin.c和my_plugin.dsp;
分別打開上面的三個文件,將文件中的extname替換為my_plugin,EXTNAME MY_PLUGIN(保證大小寫一致);
D:wampbinphpphp5.5.12devphp5ts.lib複製到my_plugin目錄。
5.編譯插件及安裝
使用VS2012開啟my_plugin.dsp文件,選擇Release_TS(產生Release版本)並設定編譯為C程式碼(解決方案屬性-設定屬性-C/C++-高階-編譯為-編譯為C 程式碼(/TC));
編譯解決方案並產生插件所對應的php_my_plugin.dll檔案(位於E:php-5.5.12Release_TS目錄);
將編譯產生的dll檔案複製到Wamp PHP PHP目錄(D:wampbinphpphp5. 5.12ext);
編輯D:wampbinapacheapache2.4.9binphp.ini文件,查找"extension="關鍵字並在PHP原有插件的後面添加"extension=php_my_plugin.dll";
特別注意:所編輯的php.ini不是D:wampbinphpphp5.5.12php.ini,因為Wamp初始化PHP時,讀取位置在D:wampbinapacheapache2.4.9binphp.ini檔案。
重啟Apache伺服器。
6.測試外掛程式
如果外掛程式載入成功,重新啟動Apache伺服器存取phpinfo()即可看到新加入的my_plugin外掛程式。
產生my_plugin_test.php文件,放置到D:wampwww目錄,檔案內容如下:
echo confirm_my_plugin_compiled("my_plugin");
_mm ?> ,說明插件運作正常:
Congratulations! You have successfully modified ext/my_plugin/config.m4. Module my_plugin is now compiled into PHP.
版權聲明:本文為部落客原創文章,未經博主不得轉載。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

要在 Apache 中設置 CGI 目錄,需要執行以下步驟:創建 CGI 目錄,如 "cgi-bin",並授予 Apache 寫入權限。在 Apache 配置文件中添加 "ScriptAlias" 指令塊,將 CGI 目錄映射到 "/cgi-bin" URL。重啟 Apache。

PHP用於構建動態網站,其核心功能包括:1.生成動態內容,通過與數據庫對接實時生成網頁;2.處理用戶交互和表單提交,驗證輸入並響應操作;3.管理會話和用戶認證,提供個性化體驗;4.優化性能和遵循最佳實踐,提升網站效率和安全性。

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

當 Apache 80 端口被佔用時,解決方法如下:找出佔用該端口的進程並關閉它。檢查防火牆設置以確保 Apache 未被阻止。如果以上方法無效,請重新配置 Apache 使用不同的端口。重啟 Apache 服務。

Apache 連接數據庫需要以下步驟:安裝數據庫驅動程序。配置 web.xml 文件以創建連接池。創建 JDBC 數據源,指定連接設置。從 Java 代碼中使用 JDBC API 訪問數據庫,包括獲取連接、創建語句、綁定參數、執行查詢或更新以及處理結果。

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。
