首页
学习
活动
专区
圈层
工具
发布

Zend API:深入 PHP 内核

Zend API:深入 PHP 内核 译序及目录 译序 网上关于 PHP 的资料多如牛毛,关于其核心 Zend Engine 的却少之又少。...这就是说它将检查所需的外部文件并且要做一些类似配置与安装的任务。...(表 3.1 “PHP 调用函数的 Zend 参数”详细介绍了这些参数) 表3.1 PHP 调用函数的 Zend 参数 参数 说明 ht 这个参数包含了Zend 参数的个数。...但是将 ZEND_FE + ZEND_FUNCTION 和 PHP_FE + PHP_FUNCTION 一起混合使用是没有任何问题的。...但不管怎样,要想修改参数,写操作是不可避免的。于是 Zend 使用了这样一个特别的方式来处理写操作:无论何时,只要函数的某个参数使用过引用传递的,那它就自动进行 zval 分离。

3.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PHP 扩展与 ZEND 引擎的整合

    PHP 扩展是对 PHP 功能的一个补充,编写完 PHP 扩展以后, ZEND 引擎需要获取到 PHP 扩展的信息,比如 phpinfo() 函数是如何列出 PHP 扩展的信息,PHP...扩展中的函数如何提供给 PHP 程序员使用,这些是开发 PHP 扩展需要了解的内容。...PHP 扩展中负责提供信息的结构体为 zend_module_entry,该结构体的定义如下: struct _zend_module_entry { unsigned short size;...unsigned int zend_api; unsigned char zend_debug; unsigned char zts; const struct _zend_ini_entry...通过这两部分就可以完成 PHP 扩展到 ZEND 引擎的整合,不过好在 zend_module_entry 结构体会由扩展模板生成工具进行填充,而 get_module() 函数也不需要我们自己去调用,

    1.2K20

    PHP官方框架 Zend Framework 2.1 发布

    Zend Framework (简写ZF)是由 Zend 公司支持开发的完全基于 PHP5 的开源PHP开发框架,可用于开发 Web 程序和服务,ZF采用 MVC(Model–View-Controller...目前的最新版本为 Zend Framework 2.1,是ZF2里的首个正式版本。...用来给该框架提供工具支持,目前支持的功能有:     创建骨架应用程序(Skeleton application)     可以在骨架应用程序里创建模块     自动加载classmap     把ZF2安装到目录下...在现阶段,开发大中型PHP应用,特别是商业应用和企业应用,ZF2是一个非常不错的选择,因为ZF2有严格代码规范,非常适合团队开发。...官方网址: http://framework.zend.com/ 下载最新版本: http://framework.zend.com/downloads/latest API下载地址: http://framework.zend.com

    93710

    PHP扩展开发(七)Zend 线程安全

    在PHP诞生的初期,它总是以单线程的CGI方式运行的,因此,根本不需要考虑多线程问题,因为进程的处理不会超过单个请求。...后来,PHP嵌入到了多进程的web服务器,比如Apache之中运行,这时,因为请求到来时, 每个进程每次都会有一个独立的进程空间,如果在请求开始的时候进行了合适的初始化了, 在请求结束的时候进行了对应的清理工作...sizeof(php_sample_globals), (ts_allocate_ctor) php_sample_globals_ctor, (ts_allocate_dtor...; php_sample_globals sample_globals; PHP_MINIT_FUNCTION(sample) { php_sample_globals_ctor(&sample_globals...当PHP构建在线程安全的环境中时,或者是SAPI需要,或者是启用了maintainer-zts 选项,将会自动定义ZTS宏,程序中使用#ifdef ZTS指令检测是否定义了ZTS。

    1.3K20

    PHP5.4 + Zend Opcache 加速 wordpress 小结

    关于 Zend Opcache Zend Opcache 原来叫做 Optimizer+ 是一款闭源但是可以免费使用的 PHP 优化加速组件, 后来 Zend 在 PHP Licence 下将其开源并改名为...安装 Zend Opcache 如果有安装 eAccelerato, XCache, APC 等其它的优化加速组件,最好先卸载,就像在电脑上装 XX 电脑管家必须先卸载 OO 安全卫士 或者 JJ 卫士等同类工具一样...如果要卸载的话,执行: yum erase php-pecl-apc 然后安装 PHP Opcache: yum install php-pecl-zendopcache 安装完成以后,在 /etc/php.d...Opcache 的安装,通过 php -m 查看模块是否正常加载,然后 httpd -k restart 就可以了。...Zend 扩展的加载顺序 如果有多个 Zend Extension 同时安装和使用,要注意加载顺序。一般来说ionCube Loader要先加载,Zend Guard Loader可以放在最后。

    2.5K40

    深入理解php内核 编写扩展 I:介绍PHP和Zend

    内容: 编写扩展I - PHP和Zend起步 原文:http://devzone.zend.com/public/view/tag/Extension Part I: Introduction...to PHP and Zend http://devzone.zend.com/article/1021-Extension-Writing-Part-I-Introduction-to-PHP-and-Zend...这些都是非常正当的理由,但是,在创建扩展之前,你需要首先明白zend和php以及扩展分别是什么? 1.2 Zend 和PHP Zend 指的是语言引擎,PHP 指的是我们从外面看到的一套完整的系统。...PHP的‘核心’是什么?” PHP的核心由两部分组成: 1)Zend引擎:最底层是Zend引擎(ZE)。ZE把人类易读的脚本解析成机器可读的符号,然后在进程空间内执行这些符号。...一旦你已经使用这些额外的选项编译了PHP并安装于你的开发服务器(或者工作站)中,你就可以把你的第一个扩展加入其中了。

    1.3K30

    PHP航母的超级引擎发动机zend engine

    作为一艘巨轮,zend engine一直全速推进着php的前行,可以说如果没有zend engine,恐怕PHP也会像泰坦尼克一样沉没了。...zend engine原理 zend engine就是我们上面提到的解释器,它本质上就是一个虚拟机,也就是说我们的php程序就是运行在zend engine这个虚拟机里面的。...只不过我们的php程序不是直接运行在它的上面,而是我们的php opcode,也就是我们经常提到的中间码是由虚拟机解释执行的。 zend本身是由c语言写的,因此效率方面不需要担心。...我们需要考虑的就是zend如何加速编译和执行php的速度,我们知道php7的性能提升了1倍不止,其核心原理就是zend加快了编译phpcode的速度。...zend经过1代,2代,3代的发展,速度一次比一次快,它的下一代会给我们一个怎样的速度我们不可预知,但是我们知道,作为超级引擎的zend从未让我们失望过。 期待zend engine4的诞生。

    65330

    Zend与PHP之间到底是什么关系

    Zend与PHP之间是什么关系 What is Zend's relationship with PHP? 每次看到PHP虚拟机中出现zend、zendvar之类的都很困惑,特意查了一下......Zeev Suraski和Andi Gutmans在PHP 3发布后开始改写PHP的核心,在1999年发布的PHP解释器命名为Zend Engine,Zend来源于这两个人名字中的Zeev 和 Andi...PHP4+以上版本,虚拟机(解释器) 从此被称为 Zend Engine。...Zeev Suraski和Andi Gutmans在PHP 3公布后开始改写PHP的核心,这个在1999年公布的剖析器称为Zend Engine,他们也在以色列的Ramat Gan成立了Zend Technologies...在2000年5月22日,以Zend Engine 1.0为基础的PHP 4正式公布,2004年7月13日则公布了PHP 5,PHP 5则使用了第二代的Zend Engine。

    1.9K30

    使用神器快速破解Zend及ionCube加密的php文件

    我们知道很多商业php程序为了保护源码或者设置限制会采取源码加密,常见的一般有Zend、微盾(威盾)、ionCube。其中微盾是不需要服务器组件支持的,所以也很好破,网上文章很多,大家搜搜就可以得知。...而Zend和ionCube是需要组件支持的,所以在破解上难度会非常大,或者说根本无法破解。...首先需要保证自己的windows机器上安装了Microsoft Visual C++ 2008及2010版本。...这里提供2008+2010的x86+x64版本整合下载地址 http://115.com/file/cl31yn62   (本人自行打包,均为微软官方下载,保证无毒) 安装好后DeZender.DeIoncuber...☺ 本文原址:http://www.sudu.us/artifact-fast-break-with-zend-and-ioncube-encrypted-php-files/

    11.3K40

    怎样选择适合自己php框架

    怎样选择PHP框架 回答下面的一些问题能帮助你选择适合自己的框架: 这个框架有哪些特点和功能?(它提供了我的需求吗?) 这个框架学习容易吗? 这个框架可扩展行强吗?...Yii使用Composer作为它的php依赖管理工具来帮助处理不同的依赖和其安装。得益于惰性加载技术的使用,Yii框架是目前速度最快的框架。 Yii另一个伟大的特性是整合来JQuery。...怎样比较它们 这3个框架开发Web2.0应用都非常的好,但是各自服务与不同的目的。让我们看看它们的特性以及它们目前的状态。 模版引擎 模板引擎在编写前端代码时,简化开发者的工作并提供更好的功能。...安装 这三个框架提供了许多安装程序。如果你用Composer去处理安装包,你会很高兴发现,所有的框架都可以通过Composer安装 对Symfony而言,Composer的作用更加关键。...Laravel通过Composer的composer create-project命令或者通过Laravel安装器也能简单的进行安装。详情请查看laravel安装指南。

    7.4K20

    Zend 创始人提议创建PHP变种,暂命名为 P++

    今日消息,不久前从 Zend 公司离职的 Zeev Suraski 以 PHP 开发组成员的身份提议要创建 PHP 方言,暂命名为 P++。 ?...另外,如果你安装了 PHP,那么将安装 P++,反之亦然。 总而言之,PHP 和 P++ 的绝大部分代码都是相同的。...那作为开发者的我们,是否需要在 PHP 和 P++ 之间做出选择?前文已提到,由于 PHP 和 P++ 会同时安装,所以从这个层面来说,开发者不存在该选 PHP 还是 P++ 的犹豫。...二进制文件将完全相同,如果你安装 PHP,你也将安装 P++,反之亦然。相同的二进制将运行 PHP,P++ 或组合 PHP/P++ 的应用程序。...我需要在 PHP 和 P++ 之间做出选择吗? 是,也不是。如上所述,当你安装一个,你就有了另一个,所以就应用而言,你可以在一台服务器上运行这两种方言。

    81820

    学习了php之后再来看php怎样学java

    我用了一天时间学会了php,真的。我现在已经可以流畅的用thinkphp框架开发php了。学习过程是这样的:我接了个php的项目,包括两个部分:老系统添加功能和优化,再新做一个系统。...最后一个问题是关于nginx配置的,问了好多php大牛的兄弟都说我配置的没有问题,不知道为啥会那样。...所以我希望这次做php也能达到同样的效果。 先记录一下问题:配置好nginx path_info之后,打开php配置里的cgi.fix_pathinfo=1 。...结果所有minsu/index.php/XXXX的链接路径被显示成minsu/.php/XXXX  里面的链接就显示的更乱了。刚刚从一个好使的版本升级之后,配置被重置。...写PHP代码是很容易的。我用的是ThinkPHP框架。PHP的架构也是模块化设计,基于模块/控制器/操作。可以支持多入口文件和多级控制器。思想和Spring MVC很像。可以称作多层MVC。

    1.1K10
    领券