Php 使用phar流的require文件在ZendStudio中不起作用

Php 使用phar流的require文件在ZendStudio中不起作用,php,zend-studio,zend-debugger,phar,Php,Zend Studio,Zend Debugger,Phar,我正在与ZendStudio内部的一个相当奇怪的问题纠缠。使用phar extensions phar://流包装器在phar归档中包含或需要文件在ZendStudio中无法工作 这就是我所做的 给定以下文件结构: phar/Test.php pharbuilder.php usephar.php 内容如下: phar/Test.php: 类测试{} pharbuilder.php: $phar=新的phar(_DIR__.'./test.phar'); $phar->buildFromDi

我正在与ZendStudio内部的一个相当奇怪的问题纠缠。使用phar extensions phar://流包装器在phar归档中包含或需要文件在ZendStudio中无法工作

这就是我所做的

给定以下文件结构:

phar/Test.php
pharbuilder.php
usephar.php
内容如下:

phar/Test.php:

类测试{}
pharbuilder.php:

$phar=新的phar(_DIR__.'./test.phar');
$phar->buildFromDirectory(_-DIR.'/phar/');
usephar.php:

var_dump(文件_存在('phar://'.\uu DIR_u.'./test.phar/test.php');
包括('phar://'。_DIR__.'/test.phar/test.php');
$test=新测试();
var_dump($测试);
现在,如果您首先在ZendStudio中运行pharbuilder.php(ZS 8:右键单击文件,以php脚本的形式运行),将成功创建phar文件(test.phar)(在运行它之前,您必须将ini选项
phar.readonly=0
添加到相应的php.ini中)。但是,在ZS内运行usephar.php将导致错误

bool(true)
Warning: include(): Failed opening 'phar:///somepath/test.phar/Test.php' for inclusion
显然,可以找到该文件,但无法包含它。我还可以使用
file\u get\u contents('phar://.\uu DIR\uu.'./Test.phar/Test.php')访问文件中Test.php的内容。

此外,我注意到,如果修改此脚本的运行配置并禁用复选框“运行时显示调试信息”,则不会发生这种情况。所以我想这和ZendDebugger有关,但我不太确定

当我从控制台运行相同的脚本时,一切正常

我在ZendStudio 8和10以及all-in-ZS提供的php版本(5.4.11、5.3.21、5.3.3都在CGI和CLI中)中尝试了这一点


由于我找不到其他人有同样的问题,我认为我做错了什么,并愿意接受任何建议。可能是一些秘密的php.ini指令或类似的东西。

这个问题现在在10.6.2中得到了解决。 请注意,如上所述,您需要修改
php.ini
文件(位于-
/plugins/com.zend.php.debug.debugger.win32.x86\uq\resources\php
) 加
phar.readonly=0

我会在这一次与zend一起创建一个支持票证。我的同事使用了他的zend联系人,他们可以重现这个问题。希望他们能尽快解决。无论如何,谢谢。你能在你的情况下解决这个问题吗?不幸的是没有(