php56zend
1. 安全線程的php5.6版本是否可以配置Zend Guard Loader for PHP 5.6,為什麼配置失敗,快來幫我解決問題
你配置的問題??
我們以php5.6 (
php5.6VC11 x86 Non Thread Safe
)版本為例,說明一下:x86是32位系統的意思,Non Thread Safe是非安全線程,Thread Safe是安全線程。php官網下載地址:http://windows.php.net/download/#php-5.6-nts-VC11-x86
下載好了php5.6 ,自己配置一下php.ini。
接下來,是我們說的重點。首先我們去官網下載,選擇相適用的php版本的ZendGuard ,我們這里是php5.6版本,所以要下載適用它的ZendGuard版本。ZendGuard的官方下載地址:http://www.zend.com/en/procts/loader/downloads#Windows
我們這里是下載基windows系統的ZendGuard ,(如果你系統是linux,你就下載linux的ZendGuard)
解壓並提取 ZendLoader.dll(Windows系統)或ZendGuardLoader.so(Linux),對應你的PHP版本。
下載了Zend Guard Loader
for PHP 5.6,解壓文件後復制ZendLoader.dll到php安裝路徑的ext目錄中,
在php.ini配置加入:
[Zend.loader]
zend_extension="C:/php/ext/ZendLoader.dll"
zend_loader.enable=1
zend_loader.disable_licensing=0
zend_loader.obfuscation_level_support=3
zend_loader.license_path=
總結一下:
【Linux 和 Mac OS X環境下】
zend_extension="/usr/lib/php/moles/ZendGuardLoader.so"(替換成自己的ZendGuardLoader.so路徑)
zend_loader.enable=1
zend_loader.disable_licensing=0
zend_loader.obfuscation_level_support=3
重新啟動Web伺服器。
【Windows(非線程安全的php版本)】
zend_extension="c:/php/ext/ZendLoader.dll"(替換成自己的ZendGuardLoader.dll路徑)
zend_loader.enable=1
zend_loader.disable_licensing=0
zend_loader.obfuscation_level_support=3
重新啟動Web伺服器。
測試:新建文本文檔,填寫下面內容:<?phpphpinfo();?>保存,然後更改文件名為phpinfo.php放到你域名根目錄,然後通過你的域名+phpinfo.php瀏覽查看,有查看到ZendGuard 就說明安裝成功,否則就安裝失敗。
或者:打開windows的「運行」輸入cmd,切換路徑到你php安裝目錄,執行php -v 回車。假如:你的php安裝在e盤的php文件 ,命令如下:①cd E:/php 回車。②E: 回車 進到你想要的路徑下。③php -v 回車有查看到有載入zendloader 就說明安裝成功,否則就安裝失敗。
安裝ZendGuard失敗原因如下:①你安裝了低於php5.3的版本②不支持64位的php,只支持32位的
③Windows下,Zend Loader only works with NTS PHP!
ZendGuard只支持NTS(Non Thread Safe)版的php,TS(Thread Safe安全線程)版的不支持。
如何判斷:
通過phpinfo(); 查看其中的 Thread Safety 項,這個項目就是查看是否是線程安全,如果是:enabled,一般來說應該是ts版,否則是nts版。
按住ctrl+f快捷鍵,輸入Thread Safety ,查看裡面屬性是不是enabled。
附上NTS和TS的區別
NTS:Non Thread Safe
非安全線程, 在執行時不進行線程(Thread)安全檢查。
TS:Thread Safe
安全線程, 執行時會進行線程(Thread)安全檢查,以防止有新要求就啟動新線程的CGI執行方式而耗盡系統資源。
ZendGuard只適用非線程安全版本的php
注意事項
2. php的zend引擎是否支持多線程的擴展
你可以參考一下多線程擴展,再改造一下你原本的庫
3. 怎麼解決 php zend optimizer3.3.3 於 xdebug 2.1.0 不兼容
xdebug的官方手冊中指出xdebug應當作為zend extension載入:
zend_extension_ts=」c:/php/moles/php_xdebug-4.4.1-2.0.2.dll」
但這樣的話xdebug就會與ZendOptmizer沖突,導致Apache無法啟動。
如何讓xdebug與ZendOptmizer共存呢?解決方法就是不以zend extension的形式載入xdebug,用載入常規擴展的方法。把xdebug的dll文件放入php的ext文件夾中,然後在php.ini中加入:
extension=php_xdebug-4.4.1-2.0.2.dll
這樣xdebug就能與ZendOptmizer共存了。
雖然phpinfo()里會提示:XDEBUG NOT LOADED AS ZEND EXTENSION,但據我觀察這樣並不影響xdebug的正常使用。
以上方法在WinXP,Apache2.2,PHP5.2,Xdebug2.0.3下試驗成功。
4. PHP ZEND 報錯An error occurred Application error
你沒有定義路由,其實那不是真正的訪問indexAction()因為zf找不到action會在自動指向indexaction()就是這樣
5. php zend 亂碼
webserver空間沒安裝ZendOptimizer
6. php中zend_guard的license問題
zend_optimizer.license_path = "D:\php\zendOptimizer\lib"
裝完zendOptimizer, 然後把路徑指到lib目錄下就可以吧, 沒親自試, 你可以試試。
------------------
我也不太清楚,沒做過相關的東西。
-------------------
我覺得這種技術很難找到中文資料, 可能會有一些相關的英文開發文檔吧, 不過我英文不太好.
7. Error: Missing Dependency: php(zend-abi) = 20060613 is needed by package php-memcache-3.0.4-1.jason.
依你的錯誤信息應該是你的系統中缺少了 PHP、Zend、PHP-memcache包。
安裝時候提示不存在,說明你需要一個一個下載,然後在手動安裝。大概是因為你的yum源中不存在這些包,你可以去官方網站去下載相應的包,然後自己手動安裝,如果需要資料庫,還要下安裝Mysql資料庫的包
8. zend guard 6.0 加密的php文件,linux伺服器上需要裝哪個版本的zend才能執行
PHP使用Zend Guard 6.0加密方法講解(http://www.piaoyi.org/php/PHP-Zend-Guard-encode.html)
更多問題到問題求助專區(http://bbs.hounwang.com/)
9. PHP跟zend是什麼關系
PHP 是一門開發語言, zend 是一個適用於 PHP 的開發環境