目前,全球5000萬互聯網網站60%以上都在使用PHP技術,AlexaTOP500中國網站排名中有394家使用PHP,國內80%以上動態網站使用PHP進行開發,在Web後端語言中PHP全球市場語言占有率達到80%。
像Facebook、Google、新浪、百度、YouTube、騰訊都在使用PHP。
PHP語言的八大優勢:
1、開放源代碼,所有的PHP源代碼事實上都可以得到。
2、免費性,php和其它技術相比,PHP本身免費且是開源代碼。
3、快捷性,程序開發快,運行快,技術本身學習快。嵌入於HTML:因為PHP可以被嵌入於HTML語言,它相對於其他語言。編輯簡單,實用性強,更適合初學者。
4、跨平臺性強,由於PHP是運行在服務器端的腳本,可以運行在UNIX、LINUX、WINDOWS、Mac OS下。
5、專業專註,PHP支持腳本語言為主,同為類C語言。
6、效率高PHP消耗相當少的系統資源。
7、面向對象,在php4,php5 中,面向對象方面都有了很大的改進,php完全可以用來開發大型商業程序。
8、圖像處理,用PHP動態創建圖像,PHP圖像處理默認使用GD2。且也可以配置為使用image magick進行圖像處理。
PHP的3種常用運行方式:CGI、FastCGI、APACHE2HANDLER。
1、CGI
CGI即通用網關接口(common gatewag interface),它是壹段程序,通俗的講CGI就像是壹座橋,把網頁和WEB服務器中的執行程序連接起來,它把HTML接收的指令傳遞給服務器的執行程序,再把服務器執行程序的結果返還給HTML頁。CGI 的跨平臺性能極佳,幾乎可以在任何操作系統上實現。
2、FastCGI
fast-cgi 是cgi的升級版本,FastCGI像是壹個常駐(long-live)型的CGI,它可以壹直執行著,只要激活後,不會每次都要花費時間去fork壹 次。PHP使用PHP-FPM(FastCGI Process Manager),全稱PHP FastCGI進程管理器進行管理。
但每壹個Web 請求PHP都必須重新解析php.ini、重新載入全部擴展並重初始化全部數據結構。使用FastCGI,所有這些都只在進程啟動時發生壹次。壹個額外的好處是,持續數據庫連接(Persistent database connection)可以工作。
3、APACHE2HANDLER
PHP作為Apache模塊,Apache服務器在系統啟動後,預先生成多個進程副本駐留在內存中,壹旦有請求出現,就立即使用這些空余的子進程進行處理,這樣就不存在生成子進程造成的延遲了。這些服務器副本在處理完壹次HTTP請求之後並不立即退出,而是停留在計算機中等待下次請求。對於客戶瀏覽器的請求反應更快,性能較高。
如何保護自己的PHP代碼:
1、代碼混淆+加密
就是把代碼base64加密,然後對base64裏的字符串進行字符串映射(隨機生成字典混淆)然後eval執行 這種百分之百能被破解還原。
2、混淆亂碼字符
代碼混淆變量還有壹些東西 和1原理差不多,不過是把字符串換到 ascii 127到255之間非人類還有編輯器看不懂的字符 ,結果也是百分之百能被破解和還原,只是時間問題。
3、發放opcode
不分發代碼,而是先把PHP代碼預編譯,分發opcode,PHP7以後opcache深度集成這個東西 PHP7以後可以用這個方法保護源碼,但是也會被opcode反編譯回去 也會被破解。
4、混淆+加密+寫PHP擴展
混淆+加密+寫PHP擴展,但是只要是開源的PHP擴展都會被破解,除非自己寫加密算法,把PHP代碼加密, 然後自己拿C語音寫擴展閉源, 別人不知道妳加密思路和破解思路,被破解的可能性很小。