當前位置:首頁 » 編程語言 » phpzend教程

phpzend教程

發布時間: 2022-05-06 01:50:05

① 如何使用zend studio調試php項目

沒找對關鍵字吧.

個人比較習慣 Zend Studio 5.5 + Zend Debugger 調試.

很直觀. 單步, 斷點. 跟蹤... 以下附上截圖.

zend studio 的新版.... 個人不太喜歡. 一是 比較耗資源, 二是調試感覺用著別扭.

網路 zend debugger 即可找到下載與安裝了.... 注意 ts 與 nts 版本的區別.

② 如何用zendstudio新建一個PHP工程

一、利用ZendStudio創建 PHP Project

1. 打開ZendStudio, 選擇:File à New à PHP Project,

在」Project name」後輸入工程名(比如我這里叫:PhpAppDemo),其他保持默認不變,點擊按鈕」Next >」,彈出如下對話框:

繼續點擊按鈕」Next >」,彈出如下對話框:

最後,點擊按鈕」Finish」,這樣名為PhpAppDemo的php工程就創建成功了,

二、利用ZendStudio打開已經存在的PHP Project

1. 打開ZendStudio, 選擇:File à Import,

選擇 General à Existing Projects into Workspace, 然後點擊按鈕」Next >」,彈出如下對話框:

選擇目錄C:\Program Files\Zend\Apache2\htdocs\zabbixdemo下的php應用程序(注意:該目錄下有工程文件),點擊按鈕」Finish」,即可將已有php工程導入到zendstudio中,

三、利用ZendStudio導入PHP項目到已存在的PHP工程中

注意:被導入的PHP項目無工程文件。
說明:以上面我之前創建的PHP工程PhpAppDemo為例.

1. 右鍵點擊PHP工程PhpAppDemo,在彈出的菜單中,選擇」Import…」,

接著,彈出如下對話框:

選擇」General à File System」,然後點擊按鈕」Next >」,則彈出如下對話框,

在」From directory」後面選擇目錄d:\usr\webroot\xbServer(說明:該目錄下的php文件和目錄是開源項目xibo的源代碼文件夾),接著勾選上所有的checkbox, 最後點擊按鈕」Finish」,則成功導入xibo項目的源代碼到已存在的項目PhpAppDemo中,

③ php 怎麼用zend加密

可以加密就可以解密。

解密ZEND加密後的PHP文件:

zend加密php文件解密工具Dezender可以做到。

1、下載Dezender.zip

2、解壓到盤裡面,最好不要有中文路徑,比如解壓到 I:Dezender 裡面,修改I:DezenderPHP5PHP5php.ini文件,修改裡面的文件路徑。

④ php空間如何安裝zend

Zend Optimizer/3.3.3 解密加代碼優化,提高PHP應用程序的執行速度,顯著降低伺服器的CPU負載。
Zend Guard Loader/5.5.0/6.0 解密加代碼優化,提高PHP應用程序的執行速度,顯著降低伺服器的CPU負載。
PHP 5.3.X 開始 Zend Optimizer 正式被 Zend Guard Loader 取代了。安裝方法有所不同,以下是安裝 Zend Guard Loader的具體方法:

下載地址:ZendGuardLoader-php-5.3-Windows.zip
下載好後解壓壓縮包,找到 ZendGuardLoader-php-5.3-Windows\ZendServer\lib\loader\php-5.3.x 目錄下的 ZendLoader.dll 文件,將它放到你的php目錄下ext下:

再編輯php.ini文件,添加一段代碼(如):
?

1
2
3
4
5
6
7
8
9
10
11

[Zend.loader]

zend_loader.enable=1

zend_loader.disable_licensing=1

zend_loader.obfuscation_level_support=3

zend_loader.license_path=

zend_extension=」D:\php\ext\ZendLoader.dll」

保存php.ini配置文件,重啟apache或者IIS

在你指定的www目錄下新建一個phpinfo()文件.輸入
<?php echo phpinfo(); ?>

如果探針顯示Zend Guard Loader 表明Zend Guard 已經配置成功;

另附:php5.3不支持ZendOptimizer的解決辦法(Zend Guard Loader)

PHP 5.3 下,Zend Optimizer 已經被全新的 Zend Guard Loader 取代
1. 下載 Zend Guard Loader 壓縮包。(官方下載地址:http://www.zend.com/en/procts/guard/downloads)
2. 解壓並提取 ZendGuardLoader.so(Linux)或 ZendLoader.dll(Windows),對應你的PHP版本。
3. 在你的 php.ini 文件添加下面一行,用來載入 Zend Guard Loader:
Linux 和 Mac OS X:zend_extension = 完整路徑/ZendGuardLoader.so
Windows(非線程安全): zend_extension = 完整路徑/ZendLoader.dll
4. 在 php.ini 額外新增一行,啟用 Zend Guard Loader:
zend_loader.enable = 1
5. 可選:可以在 php.ini 文件添加以下行到 Zend Guard Loader 配置位置:
;禁用許可證檢查(為了性能的原因)
zend_loader.disable_licensing = 0
;讓 Zend Guard Loader 支持混淆級別。級別在 Zend Guard 的官方詳細文檔。 0 – 不啟用混淆
zend_loader.obfuscation_level_support = 3
;從這個路徑尋找Zend產品授權的產品許可證。欲了解更多有關如何創建一個許可證文件的信息,請參閱 Zend Guard 用戶指南.
zend_loader.license_path =
6. 如果您使用 Zend debugger,請確保載入 Zend guard Loader。
7. 如果您使用 ioncube loader,請務必在它之前載入 Zend guard Loader。
8. 重新啟動Web伺服器。

⑤ 如何將PHP開源代碼導入zend去修改

1、首先在zend studio裡面創建一個文項目,注意:不是文件夾,然後再將你的項目導入進去,(方法:點擊創建的項目-右鍵-import-General-File System-browse-選擇你要導入的項目-勾選Finish-Yes To All)就可以了
2、Zend Studio 是專業開發人員在使用PHP整個開發周期中唯一的集成開發環境 (IDE),它包括了PHP所有必須的開發部件。通過一整套編輯、調試、分析、優化和資料庫工具,Zend Studio 加速開發周期,並簡化復雜的應用方案

⑥ 如何學習PHP debug

在介紹完PHP5環境下Zend Debugger安裝配置教程後,今天來說說如何在Zend Studio中使用Zend Debugger調試PHP程序,使用Zend Debugger還是比較方便,我使用的是Zend Studio7,Zend Studio7的Debug配置界面與早期的Zend Studio還是略有不同。在使用Zend Debugger在Zend Studio中調試PHP之前,請先安裝Zend Debugger,如果對Zend Studio的使用比較陌生,推薦先學習PHP開發工具Zend Studio7入門使用教程。由於我之前使用Xdebug對PHP進行調試,為了使用Zend Debugger,我們首先需要打開Zend Studio7,對Zend Studio的Debug配置選項進行設置,步驟如下:選擇菜單欄Project->Properties,選擇左側PHP Debug選項

⑦ 如何在Zend Studio中使用Zend Debugger調試PHP

在介紹完PHP5環境下Zend Debugger安裝配置教程後,今天來說說如何在Zend Studio中使用Zend
Debugger調試PHP程序,使用Zend Debugger還是比較方便,我使用的是Zend Studio7,Zend
Studio7的Debug配置界面與早期的Zend Studio還是略有不同。
在使用Zend Debugger在Zend Studio中調試PHP之前,請先安裝Zend Debugger,如果對Zend Studio的使用比較陌生,推薦先學習PHP開發工具Zend Studio7入門使用教程。

由於我之前使用Xdebug對PHP進行調試,為了使用Zend Debugger,我們首先需要打開Zend Studio7,對Zend
Studio的Debug配置選項進行設置,步驟如下:選擇菜單欄Project->Properties,選擇左側PHP Debug選項
zend studio7 debug設置
Zend Debugger使用特別說明:如果之前使用Xdebug調試PHP,請設置好PHP Debug後重啟Zend Studio,否則可能仍然是使用Xdebug調試而不是使用Zend Debugger調試。

除了上述的設置方式,Zend Studio7
Debug還有另一種設置方式,主要針對的是單個調試文件,方法如下,選擇菜單欄中的Run->Debug Configurations
,選擇PHP Web Page Debug調試方式下的調試頁面,右側Server面板中選擇Zend Debugger,你可以點擊Test
Debugger,如果Zend Debugger安裝成功,其會彈出Test Debuger Server Success對話框,即宣告Zend
Debug Server連接成功,相反如果沒有安裝Xdebug,選擇Xdebug時Test Debugger按鈕是失效的,如圖
設置zend studio debug,並測試Zend Debugger是否連接成功
這種方法適用於變更單個PHP文件在Zend Studio中的調試工具,即選擇使用Zend Debugger或者Xdebug進行調試。而之前的設置主要針對的是設置整個項目的調試方式。
最後我總結下使用Zend Debugger在Zend Studio中調試PHP的方法:
1、在Zend Studio中導入(新建)項目
2、設置項目或文件的Zend Studio Debug調試方法
3、選擇菜單欄RUN中的Debug AS或Debug URL進行調試,Zend Studio中Zend Debugger的調試界面和Xdebug類似,同樣可以通過F11啟動調試會話,F5(單步調試),設置斷點等。
至此在Zend Studio中使用Zend Debugger調試PHP的方法就介紹完了。

⑧ Zend後的PHP是如何執行的

那個是已經加密、混雜變數名後的PHP的OpCode碼執行過程就是解密,然後用Zend VM運行解密後的OpCode並不是像1L所說的是二進制代碼。

針對最近Zend公司對加密模式調整補充一些東西:如果要讓Zend加密的代碼在PHP 5.3.x上運行,必須選擇針對PHP 5.3加密,舊版本的加密文件不能在PHP 5.3上運行。同時,如果是Windows平台還必須選擇PHP的NTS版本。對應的Zend解密插件是Zend Loader。需要全部手工安裝。獲取ZendLoader.dll之後修改PHP文件增加以下兩行:zend_extension="(ZendLoader.dll的路徑)"
zend_loader.enable=1

而如果要讓Zend加密的代碼在PHP 5.3之前的平台上運行,必須選擇針對舊版PHP加密。針對PHP 5.3加密的代碼是不能在PHP 5.3之前的平台上運行的。同時,如果是Windows平台還必須選擇PHP的TS版本。對應的Zend解密插件是Zend Optimizer。有安裝程序,需要自行安裝。

⑨ 如何利用zend加密PHP文件

ASPCOOL PHP文件的源碼都是明文,這對於某些商業用途來說,並不適合。 因此考慮使用加密的手段保護源碼。 實在不耐煩等待zend出編譯器,而且編譯和加密本質上不是一回事兒。自己動手、開始修改。 一、基本原理 考慮截獲PHP讀取源文件的介面。一開始,我考慮從Apache和PHP之間的介面處 處理,參見apache的src/moles/php4/mod_php4.c (這個是PHP用static方式編譯進apache,make install 後的文件),在send_php()函數中截獲文件指針,採用臨時文件的方式,解密後替換文件指針。這種方 法經過測試實踐,證明是可行的。但是,必須使用兩次文件操作,效率低下,而且對於DSO方式不可採用。 由此,重新考慮截獲PHP讀取文件並裝載至緩存的過程,經過費力的尋找,發現在Zend引擎中zend-scanner.c是做此處理的。開始對此文件修改。 二、實現方法示意 採用libmcrypt作為加 密模塊,現在採用的是DES方法ECB模式加密, 下面是文件加密的源代碼: /* ecb.c-------------------cut here-----------*/ /* encrypt for php source code version 0.99 beta we are using libmcrypt to encrypt codes, please install it first. compile command line: gcc -O6 -lmcrypt -lm -o encryptphp ecb.c please set LD_LIBRARY_PATH before use. GNU left, designed by wangsu , miweicong */ #define MCRYPT_BACKWARDS_COMPATIBLE 1 #define PHP_CACHESIZE 8192 #include < mcrypt.h > #include < stdio.h > #include < stdlib.h > #include < math.h > #include < sys/types.h > #include < sys/stat.h > #include < fcntl.h > main(int argc, char** argv) { int td, i,j,inputfilesize,filelength; char filename[255]; char password[12]; FILE* ifp; int readfd; char *key; void *block_buffer; void *file_buffer; int keysize; int decode=0; int realbufsize=0; struct stat *filestat; if(argc == 3) { strcpy(password,argv[1]); strcpy(filename,argv[2]); } else if(argc == 4 && !strcmp(argv[1],"-d")){ strcpy(password,argv[2]); strcpy(filename,argv[3]); decode=1; printf("Entering decode mode ... n"); } else { printf("Usage: encryptphp [-d] password filenamen"); exit(1); } keysize=mcrypt_get_key_size(DES); key=calloc(1, mcrypt_get_key_size(DES)); gen_key_sha1( key, NULL, 0, keysize, password, strlen(password)); td=init_mcrypt_ecb(DES, key, keysize); if((readfd=open(filename,O_RDONLY,S_IRUSR|S_IWUSR|S_IRGRP))==-1){ printf("FATAL: Can't open file to read"); exit(3); } filestat=malloc(sizeof(stat)); fstat(readfd,filestat); inputfilesize=filestat- >st_size; printf("filesize is %d n",inputfilesize); filelength=inputfilesize; inputfilesize=((int)(floor(inputfilesize/PHP_CACHESIZE))+1)*PHP_CACHESIZE; if((file_buffer=malloc(inputfilesize))==NULL){ printf("FATAL: can't malloc file buffer.n"); exit(2); } if((block_buffer=malloc(PHP_CACHESIZE))==NULL){ printf("FATAL: can't malloc encrypt block buffer.n"); exit(2); } j=0; while(realbufsize=read (readfd,block_buffer, PHP_CACHESIZE)){ printf("."); if(!decode){ if(realbufsize< PHP_CACHESIZE){ for(i=realbufsize;i< PHP_CACHESIZE;i++){ ((char *)block_buffer)[i]=' '; } } mcrypt_ecb (td, block_buffer, PHP_CACHESIZE); } else { mdecrypt_ecb (td, block_buffer, realbufsize); } memcpy(file_buffer+j*PHP_CACHESIZE,block_buffer,PHP_CACHESIZE); j++; } close(readfd); if((ifp=fopen(filename,"wb"))==NULL){ printf("FATAL: file access error.n"); exit(3); } fwrite ( file_buffer, inputfilesize, 1, ifp); free(block_buffer); free(file_buffer); free(filestat); fclose(ifp); printf("n"); return 0; } /*--- end of ecb.c ------------------------------------*/ 因為ECB模式是塊長度確定的塊加密,這里填充了一 些空字元。 然後,修改php代碼中 Zend/zend-scanner.c 如下: (我的php版本是4.01pl2, SUNsparc/solaris 2.7, gcc 2.95;) 文件前加入: #define MCRYPT_BACKWARDS_COMPATIBLE 1 #include < mcrypt.h > 然後,注釋掉大約3510行前後的YY_INPUT的定義。 然後, 修改大約5150行前後的yy_get_next_buffer()函數: 函數頭加上定義: void *tempbuf; char *key; char debugstr[255]; int td,keysize; int x,y; FILE *fp; 然後 ,注釋掉 YY_INPUT( (&yy_current_buffer- >yy_ch_buf[number_to_move]), yy_n_chars, num_to_read ); 這一句。 改為: tempbuf=malloc(num_to_read); if((yy_n_chars=fread(tempbuf,1,num_to_read,yyin))!=0){ /*decode*/ #define password "PHPphp111222" #define debug 0 keysize=mcrypt_get_key_size(DES); key=calloc(1, mcrypt_get_key_size(DES)); gen_key_sha1( key, NULL, 0, keysize, password, strlen(password)); td=init_mcrypt_ecb(DES, key, keysize); mdecrypt_ecb(td, tempbuf, yy_n_chars); memcpy((&yy_current_buffer- >yy_ch_buf[number_to_move]),tempbuf,yy_n_chars); if(debug){ fp=fopen("/tmp/logs","wb"); fwrite("nstartn",7,1,fp); fwrite(tempbuf,1,yy_n_chars,fp); fwrite("nenditn",7,1,fp); fclose(fp); } } free(tempbuf); 然後,編譯php,按正常方法安裝即可,因為我對於libtool不太熟悉,因此我選擇static方式,並在 configure時加入了--with-mcrypt,這樣我就不用自己手工修改Makefile 三、測試及結果 編譯php,apache後,用ecb.c編譯出來的encryptphp加密了幾個文件,分別為< 1K,10K+,和40K+,在處理 40K大小文件時出錯,別的文件均正常。 這是因為塊的ECB加密方式決定了必須使用定長塊,所以,請 諸位同好指點採用何種流加密方式可以兼顧到zend每次讀取8192位元組的緩存處理方式。(其他平台上 zend每次讀取的塊長度可能有所不同) 四、說明 我的機器是SUN Ultra1, solaris 2.7, gcc 2.95 , apache 1.3.12, php 4.01pl2, libmcrypt 2.2.4 我的C水平很差,請大家見諒。這里只是原理說明。 感謝老米飛刀等提供的協助。 源碼遵從GNU,需要注意,libmcrypt提供的某些加密方式不是free的。

熱點內容
動圖在線壓縮 發布:2025-05-14 03:35:24 瀏覽:132
w7共享無法訪問 發布:2025-05-14 03:35:24 瀏覽:482
為什麼微信會出現賬號密碼錯誤 發布:2025-05-14 03:03:30 瀏覽:692
幻影腳本官網 發布:2025-05-14 03:01:13 瀏覽:826
servlet的webxml怎麼配置 發布:2025-05-14 02:51:46 瀏覽:772
怎麼取消手勢密碼 發布:2025-05-14 02:51:11 瀏覽:639
openvpn搭建vpn伺服器搭建 發布:2025-05-14 02:47:52 瀏覽:998
密碼忘了從哪裡找 發布:2025-05-14 02:39:09 瀏覽:548
我的世界什麼伺服器有前途 發布:2025-05-14 02:30:31 瀏覽:528
java程序反編譯 發布:2025-05-14 02:18:46 瀏覽:459