Zend Guard是目前市面上最成熟的PHP源碼加密產品了。
恰好須要對本身的產品進行加密,折騰了一夜,終於搞定,將碰到的問題及解決方法記錄下來,方便往後須要,也能夠幫助其餘人。
我使用的是Wampserver,其中php的版本是5.3.10。php
點擊下載Zend Guard5.5.0,下載完成後,請自行傻瓜化安裝
這裏須要注意如下幾點:
一、本KEY的有效時間爲2010年7月10號,所以激活時請將本身電腦系統時間調整至這個時間之前
二、本KEY激活的爲試用版,加密過的文件只有14天有效時間,所以在加密文件時,請將自 己電腦系統時間向後調整N年,好比2099-12-31
三、下載受權文件[zend_guard受權文件.zip],解壓獲得zend_guard.zl,即爲激活用的文件
四、打開Zend Guard 5.5.0,[Help]->[Register]->[Search for a license file on my disk],選擇文件激活便可。html
一、打開Zend Guard 5.5.0,[File]->[New]->[Zend Guard Project],新建項目
二、在彈窗的窗口,前3項隨便填吧,最後一項是加密後文件的保存位置,而後[Next];
三、本步驟是選擇要加密的文件,能夠爲單個文件[Add File]和整個文件夾[Add Folder],而後[Next]
四、接下來是選擇PHP版本[與你服務器上PHP的版本相對照],這裏很重要,版本不對會出錯,[Finish]完成項目的建立
五、在Zend Guard左側的Guard Explorer中,能夠看到你新建的項目了,鼠標選中後,右鍵[Encode Project],完成web
雖然如今能夠成功加密php源碼了,可是當執行腳本的時候,會發現不能正常執行,會顯示以下信息
Zend Guard Run-time support missing!
One more more files on this web site were encoded by ZendGuard and the required run-time support is not installed orproperly configured.
......安全
原來,加密後的php代碼須要ZendGuardLoader模塊才能正常運行。
由於個人php版本是5.3.10的,因此我這裏只提供了ZendGuardLoader-php-5.3-Windows,若是是其餘版本的php,請自行百度。
點擊下載ZendGuardLoader-php-5.3-Windows
下載好後解壓壓縮包,找到目錄下的 ZendLoader.dll 文件,將它放到你的php目錄下ext下,再編輯php.ini文件,添加一段代碼(如):服務器
[Zend.loader]
zend_loader.enable=1
zend_loader.disable_licensing=1
zend_loader.obfuscation_level_support=3
zend_loader.license_path=
zend_extension="你的PHP安裝目錄\ext\ZendLoader.dll"ui
重啓wampserver 運氣好的話,會發現能夠成長執行了,運氣很差的話,仍是會發現以上錯誤。 這裏咱們已經安裝了zend guard loader了,爲何仍是沒法執行zend加密後的php腳本呢? 經過查看輸出phpinfo()信息,我發現有這麼幾行信息:
PHP Extension 20090626 Zend Extension 220090626 Zend Extension Build API220090626,TS,VC9
請注意,其中的TS是thread safety的簡寫(即線程安全)
一時也找不出緣由,索性直接打開zend guard官網進行搜索,而後就解決了。
原來,zend guard loader只支持NTS的版本,意味着若是你的php版本是TS的話,就無法使用zend guard loader了,若是你想查看本身的php是ts仍是nts的,只須要輸出phpinfo,而後搜索下:Thread Safety,disabled對應nts版本,不然爲ts。
所以,終極解決辦法就是,下載個php NTS版本進行安裝便可。this
ZendGuard 5.5.0 破解方法+註冊文件KEY下載
Windows下PHP(Thread Safe與Non Thread Safe)版本說明加密
做者:曾是土木人(http://www.cnblogs.com/hongfei)
原文地址:http://www.cnblogs.com/hongfei/p/3587399.html線程