Zend Guard Run-time support missing問題的解決


Zend Guard不僅可以實現對PHP應用的腳本進行加密保護和對PHP應用的產品進行商業許可證管理,還可以為許多軟件生產商、IT服務提供商提供完善的加密和安全的產品發布系統。

 

雖然現在可以成功加密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"

  重啟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版本進行安裝即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM