当前位置:首页 » 编程语言 » 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的。

热点内容
python字节转字符串 发布:2025-05-14 07:06:35 浏览:420
subplotpython 发布:2025-05-14 06:53:51 浏览:661
竖屏大屏导航工厂密码一般是多少 发布:2025-05-14 06:49:29 浏览:806
如何在手机里设置无线网密码 发布:2025-05-14 06:47:54 浏览:120
动态ip文件服务器 发布:2025-05-14 06:44:22 浏览:891
文字分行的脚本有什么 发布:2025-05-14 06:33:10 浏览:288
svn小乌龟怎么配置 发布:2025-05-14 06:31:43 浏览:393
视频播放器android 发布:2025-05-14 06:31:43 浏览:720
android工作室 发布:2025-05-14 06:26:00 浏览:658
汽车官方配置表如何下载 发布:2025-05-14 06:21:41 浏览:800