Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHPVLD显示文件输出,而不是操作码_Php_Apache_Opcode_Php Opcode - Fatal编程技术网

PHPVLD显示文件输出,而不是操作码

PHPVLD显示文件输出,而不是操作码,php,apache,opcode,php-opcode,Php,Apache,Opcode,Php Opcode,我正在尝试使用vld来查看php文件的操作码 把…准备好 我已安装了具有以下功能的vld: pecl install channel://pecl.php.net/vld-0.12.0 为了熟悉VLD,我尝试比较php文件(echo1和echo2) echo1.php <?php echo "Hello"." "."World"; 问题 运行php文件显示输出,而不是操作码 # php -dvld.active=1 -f echo1.php Hello World # php -dv

我正在尝试使用vld来查看php文件的操作码

把…准备好 我已安装了具有以下功能的vld:

pecl install channel://pecl.php.net/vld-0.12.0
为了熟悉VLD,我尝试比较php文件(echo1和echo2)

echo1.php

<?php
echo "Hello"." "."World";
问题 运行php文件显示输出,而不是操作码

# php -dvld.active=1 -f echo1.php
Hello World

# php -dvld.active=1 -dvld.execute=0 -f echo1.php
Hello World

# php -dvld.active=1 -f echo2.php
Hello World

# php -dvld.active=1 -dvld.execute=0 -f echo2.php
Hello World
显然我遗漏了一些东西:)

运行的版本 php版本

# php -v
PHP 5.4.4-14+deb7u14 (cli) (built: Aug 21 2014 08:36:44)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
# php -v
PHP 5.6.2 (cli) (built: Oct 17 2014 07:22:10)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies

使用Apache 2.2.22在Virtualbox中运行Debian更新到PHP 5.6.2后,我又尝试了一次,它正在运行:)

php版本

# php -v
PHP 5.4.4-14+deb7u14 (cli) (built: Aug 21 2014 08:36:44)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
# php -v
PHP 5.6.2 (cli) (built: Oct 17 2014 07:22:10)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies
装梨

yum install php56w-pear
安装vld

pecl install vld
将扩展名添加到/etc/php.ini(或在/etc/php.d/_;uu.ini文件中)

重新启动httpd服务并再次测试(祈求好运)

婴儿潮

我不知道为什么,但它正在按预期工作:)


现在,操作码冒险可以开始了(也是一个爱情故事)

您可能会将
扩展名添加到错误的php.ini文件中

您可能需要将扩展添加到php.ini中,以供Web服务器使用,而不是cli版本

您可以运行
查找php.ini
,然后选择php.ini的cli版本并将
扩展名.so
添加到该文件中

通常情况下,php.ini的cli版本位于
/etc/php5/cli/php.ini


不要忘了重新启动控制台

谢谢您的回复,但是我没有这个cli php.ini文件
locate php.ini
仅显示了
/etc/php.ini
php-i | grep php.ini
加载的配置文件=>/etc/php.ini
#/etc/php.d/vld.ini
extension=vld.so
 # php -dvld.active=1 -f echo1.php
 Finding entry points
 Branch analysis from position: 0
 Jump found. Position 1 = -2
 filename:       /var/www/html/echo1.php
 function name:  (null)
 number of ops:  4
 compiled vars:  none
 line     #* E I O op                           fetch          ext  return  operands
 -------------------------------------------------------------------------------------
    2     0  E >   CONCAT                                           ~0      'Hello', '+'
          1        CONCAT                                           ~1      ~0, 'World'
          2        ECHO                                                     ~1
    3     3      > RETURN                                                   1

 branch: #  0; line:     2-    3; sop:     0; eop:     3; out1:  -2
 path #1: 0,
 Hello World