首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Zend API:深入 PHP 内核

    现在我们就知道该怎么开始了。...如果想要为你的模块创建一个 .ini 文件的配置节,可以使用宏 PHP_INI_BEGIN() 来标识这个节的开始,并用 PHP_INI_END() 表示该配置节已经结束。...然后在两者之间我们用 PHP_INI_ENTRY() 来创建具体的配置项。...可以使用“表3.17 PHP 中用以访问初始化配置项的宏”来访问初始化配置项: 表3.17 PHP 中用以访问初始化配置项的宏 宏 说明 INI_INT(name) 将配置项 name 的当前值以长整数返回...我们建议你花些时间仔细研究一下它的头文件和一些模块(尤其是 ext/standard 目录下的一些文件以及 MySQL 模块,看一下这些众所周知的函数究竟是怎么实现的),看一下别人是怎么使用这些 API

    3.1K20

    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() 函数也不需要我们自己去调用,

    1K20

    wamp2.0配置Zend Optimizer

    4、选择php.ini位置 image.png 5、选择web服务器配置文件目录(注意是conf文件目录不是httpd.conf文件) image.png 6、配置 去找到php.ini(如果可能没有发现如下代码请手工添加到...php.ini最后) [Zend] zend_extension_manager.optimizer_ts=”D:\wamp\zend\lib\Optimizer-3.3.0″ zend_extension_ts...官方:Zend Optimizer用优化代码的方法来提高PHP应用程序的执行速度。...所以,使用Zend Optimizer,就等于提高了电子商务的盈利能力。Zend Optimizer能给PHP用户带来很多益处,特别是那些运营网站的人。...用优化代码的方法来提高PHP v5.1应用程序的执行速度,执行使用Zend Optimizer的PHP程序比不使用的要快40%到100%,意味着网站的访问者可以更快的浏览网页,从而完成更多的事务,创造更好的客户满意度

    1.6K40

    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.2K20

    Fedora下Zend Studio 6.1.2 的配置

    1、配置服务器。  如果我们希望能够快速的进行调试,那么将Server和Zend整合在一起是必不可少的。...配置服务器的入口很多,比如我们可以从Preferences/PHP/PHP Server中进入,也可以在Run按钮的下拉列表中找到Run Configuration/Server的配置。  ...默认的一些配置:  PHP Debugger:    默认的使用Zend Debugger,需要我们安装Zend Debugger后才能使用。...Zend Debugger配置过程中需要有一个dummy.php文件,这个文件的作用是在指定的服务器上建立一个调试脚本的会话(SESSION),文件名最好默认不要修改。  ...配置Remote Debugging首先需要确保你的服务器上安装了Zend Debugger,你可以从下面这个地址中下载到:http://www.zend.com/en/products/studio/

    58020

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

    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 指的是我们从外面看到的一套完整的系统。...你需要在这儿创建3个文件:包含hello_world函数的源码文件,包含引用的头文件,PHP用它们加载你的扩展,以及phpize用来准备编译你的扩展的配置文件。...=/usr/local/php/bin/php-config 编译 :$ make phpize用来准备编译你的扩展的配置文件:config.m4 对于config.m4文档的说明: http...这些代码看起来确实非常像之前看到的PHP代码,而且一看就懂: 声明一个名为hello_world的函数 让该函数返回字符串:“Hello World” , 那个1是怎么回事儿

    1.1K30

    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的速度。

    56030

    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.8K30

    PHP5.5中的Zend OPcache加速可以代替eaccelerator

    eaccelerator无法兼容php5.5.0,好在php在5.5.0默认提供了Zend OPcache,所以一直习惯eaccelerator的朋友如果要升级到php5.5.0的话,可能要暂时和eaccelerator...配置Zend OPcache 一直以来都习惯用eAccelerator为php提供加速,但是目前有两个问题: eAccelerator暂时不兼容php5.5.0 eAccelerator和Zend Opcache...冲突 好在php5.5.0默认提供了Zend Opcache为php加速,配置方法如下: zend_extension =/usr/local/webserver/php-d/php-5.5.0/lib.../php/extensions/no-debug-non-zts-20121212/opcache.so ; 上面zend_extension路径为opcache.so的路径 opcache.memory_consumption...opcache.max_accelerated_files=4000 opcache.revalidate_freq=60 opcache.fast_shutdown=1 opcache.enable_cli=1 注意:如果在您的php

    62500
    领券