我的编程空间,编程开发者的网络收藏夹
学习永远不晚

PHP扩展模块opcode的安装方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

PHP扩展模块opcode的安装方法

本篇内容介绍了“PHP扩展模块opcode的安装方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Opdumper

安装

Opdumper的源码已经托管在github上,其地址为:https://github.com/ericzhang-cn/opdumper。可以通过以下命令克隆源代码:

git clone https://github.com/ericzhang-cn/opdumper.git

Opdumper是一个标准的PHP Extension,安装方法如下:

首先将Opdumper源码放到PHP源码包的ext/opdumper目录下,进入此目录执行如下命令:

phpize   ./configure  make  make install

然后在php.ini中添加一行配置:

extension=opdumper.so

目前opdumper支持PHP>=5.3,在Linux和MacOS下测试通过,Windows下未做测试。

CLI API

Opdumper支持类似vld的命令行方式输出opcode,只需在执行php命令时通过-d参数将opdumper.active=1传入。例如我们有一个foo.php:

<?php   $a = 'hello';   echo $a;   ?>

执行如下命令:

php -d opdumper.active=1 foo.php

结果如下:


PHP扩展模块opcode的安装方法

PHP_FUNCTION API

Opdumper还支持vld不支持的PHP_FUNCTION API,Opdumper提供了两个PHP函数:od_dump_opcodes_string和od_dump_opcodes_file。前者接受一个字符串作为产生,字符串是一段PHP代码;后者接受一个PHP文件作为参数,返回值均是一个存有opcode结果的PHP数组。以od_dump_opcodes_file为例,我们在foo.php同一目录下再写一个bar.php:

<?php  $opcodes = od_dump_opcodes_file('./foo.php');   var_dump($opcodes);   ?>

执行结果如下:

array(3) {     [0]=>     array(8) {       ["lineno"]=>       int(2)       ["opcode"]=>       string(11) "ZEND_ASSIGN"     ["op1_type"]=>       string(2) "CV"     ["op2_type"]=>       string(5) "CONST"     ["result_type"]=>       string(0) ""     ["op1"]=>       string(2) "~0"     ["op2"]=>       string(5) "hello"     ["result"]=>       string(0) ""   }     [1]=>     array(8) {       ["lineno"]=>       int(3)       ["opcode"]=>       string(9) "ZEND_ECHO"     ["op1_type"]=>       string(2) "CV"     ["op2_type"]=>       string(6) "UNUSED"     ["result_type"]=>       string(6) "UNUSED"     ["op1"]=>       string(2) "~0"     ["op2"]=>       string(6) "UNUSED"     ["result"]=>       string(6) "UNUSED"   }     [2]=>     array(8) {       ["lineno"]=>       int(5)       ["opcode"]=>       string(11) "ZEND_RETURN"     ["op1_type"]=>       string(5) "CONST"     ["op2_type"]=>       string(6) "UNUSED"     ["result_type"]=>       string(6) "UNUSED"     ["op1"]=>       string(1) "1"     ["op2"]=>       string(6) "UNUSED"     ["result"]=>       string(6) "UNUSED"   }   }

Opdumper的Web服务:Opcode Dumper

坦白说,安装PHP模块还是挺麻烦的。所以为了方便朋友们查看opcode,我为Opdumper搭建了一个在线Web服务:http://supercompiler.com/app/opcode_dumper。

Web页面访问

只要访问这个页面,在编辑框中输入或粘贴进PHP代码,就可以快速看到相应的opcode:

PHP扩展模块opcode的安装方法

同时,也可以将结果下载到本地(CSV文件格式)。

HTTP API方式访问

您可以通过访问如下API获取PHP代码的opcode:

URI: http://supercompiler.com/api/dump_opcodes

Method: POST

Params: php_script=[您的PHP代码]

返回值为JSON格式,成功时success字段为”true”,data字段存储opcodes;失败时success字段为”false”,msg字段存放失败原因。

由于跨越的关系,目前只能使用Curl而不能使用Ajax方式调用这个API,后续会为其增加JSONP接口。

“PHP扩展模块opcode的安装方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

PHP扩展模块opcode的安装方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

PHP扩展模块opcode的安装方法

本篇内容介绍了“PHP扩展模块opcode的安装方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Opdumper安装Opdumper的源码
2023-06-17

centos怎么安装php扩展模块

centos安装php扩展模块的方法:1、安装pecl;2、安装libevent-devel;3、执行命令【echo extension=libevent.so > /etc/php.d/libevent.ini】。
2021-08-26

怎么在php中安装mysql扩展模块

今天就跟大家聊聊有关怎么在php中安装mysql扩展模块,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。php有什么特点1、执行速度快。2、具有很好的开放性和可扩展性。3、PHP支持多
2023-06-14

wdcp安装php扩展的方法

这篇文章主要讲解了“wdcp安装php扩展的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“wdcp安装php扩展的方法”吧!wdcp安装php扩展的方法:首先确定下载需要安装的php版本
2023-06-20

linux php的扩展和安装方法

本篇内容主要讲解“linux php的扩展和安装方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux php的扩展和安装方法”吧!Gettext 1 首先进入到php源码包中 cd /o
2023-06-10

php如何安装imap扩展的方法

本篇内容介绍了“php如何安装imap扩展”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!方法:1、安装依赖包;2、在php安装包的“ext/
2023-06-07

php安装扩展的方法有哪些

安装PHP扩展有以下几种方法:1. 使用操作系统的包管理器安装:大多数Linux发行版都有自己的软件包管理器,可以使用该管理器安装PHP扩展。例如,使用apt-get命令安装Ubuntu上的PHP扩展:```sudo apt-get ins
2023-10-11

linux中php安装CURL扩展的方法

这篇文章主要讲解了“linux中php安装CURL扩展的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux中php安装CURL扩展的方法”吧!如果php已经在系统编译好,后来又需要
2023-06-13

PHP 函数的扩展和第三方模块

要扩展 php 函数功能,可以使用扩展和第三方模块。扩展提供附加函数和类,可通过 pecl 包管理器安装和启用。第三方模块提供特定功能,可通过 composer 包管理器安装。实践案例包括使用扩展解析复杂 json 数据和使用模块验证数据。
PHP 函数的扩展和第三方模块
2024-04-13

如何在PHP7中安装mysql扩展模块

这期内容当中小编将会给大家带来有关如何在PHP7中安装mysql扩展模块,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。解压# tar xzvf mysql-45881bd.tar.gz进入mysql扩展目
2023-06-15

Python(三)安装扩展库与模块导入

1、我们使用pip来管理Python扩展库,常用的pip命令使用方法pip命令示例说明pip install SomePackage安装SomePackage模块pip list列出当前已安装的所有模块pip install --upgra
2023-01-31

php7安装yaf扩展的方法

这篇“php7安装yaf扩展的方法”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“php7安装yaf扩展的方法”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们进入
2023-06-06

php5.3安装redis扩展的方法

本文将为大家详细介绍“php5.3安装redis扩展的方法”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“php5.3安装redis扩展的方法”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下
2023-06-06

php7安装pdo_oci扩展的方法

小编给大家分享一下php7安装pdo_oci扩展的方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!php7安装pdo_oci扩展的方法:1、在官网下载并安装oracle客户端;2、进入php的源码安装包,执行【/usr/
2023-06-07

Linux下安装PHP curl扩展的方法详解

本文实例讲述了linux下安装php curl扩展的方法。分享给大家供大家参考,具体如下: 今天开发时遇到这样的一个问题,就是如何在Linux下安装PHP的curl扩展,我的LNMP环境都是原先进行编译安装了的,不是使用YUM方式安
2022-06-04

shell 脚本安装PHP扩展的简单方法

实例如下:#!/bin/bash #This script is to install PHP extensions #Author=steven #Email=775189187@qq.com #WriteTime=Sun Aug 14
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录