Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.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
Php 未加载xdebug扩展_Php_Phpunit_Xdebug_Loaded - Fatal编程技术网

Php 未加载xdebug扩展

Php 未加载xdebug扩展,php,phpunit,xdebug,loaded,Php,Phpunit,Xdebug,Loaded,我已经很好地安装了xdebug(显示在phpinfo()中),但我正在尝试让它与PHPUnit的代码覆盖功能一起工作。它一直告诉我“XDebug扩展未加载”。我和WAMP合作得很好。 当我运行php-m时,我在php模块和zend模块中都没有看到列出xdebug,这说明为什么phpunit找不到xdebug扩展 有人知道这个问题吗 我的详细配置如下: 视窗7 PHP5.3.0 Apache 2.2.11 Zend Engine v2.3.0 Xdebug v2.1.0 谢谢, Krishnen是

我已经很好地安装了xdebug(显示在phpinfo()中),但我正在尝试让它与PHPUnit的代码覆盖功能一起工作。它一直告诉我“XDebug扩展未加载”。我和WAMP合作得很好。 当我运行php-m时,我在php模块和zend模块中都没有看到列出xdebug,这说明为什么phpunit找不到xdebug扩展

有人知道这个问题吗

我的详细配置如下: 视窗7 PHP5.3.0 Apache 2.2.11 Zend Engine v2.3.0 Xdebug v2.1.0

谢谢,
Krishnen是否为CLI和Apache提供了不同的配置文件?我个人使用Ubuntu,但谷歌的快速搜索让我做到了


嗯。

感谢所有回答的人。 我在ubuntu工作站上重复了这个过程。这次我从源代码处编译了所有内容。所有内容都工作得非常完美,现在我能够运行覆盖率高的phpunit。这一定是windows特有的问题。我将使用linux框来完成此过程。 任何在linux上安装xdebug有问题的人,我都很乐意提供帮助

在cmd上键入
php--ini
,然后转到所示的php.ini文件

这个php.ini需要有XDEbug配置

我的建议是:

[XDebug] ; Only Zend OR (!) XDebug zend_extension=C:\wamp\bin\php\php5.3.0\ext\php_xdebug-2.0.5-5.3-vc6.dll ; XAMPP and XAMPP Lite 1.7.0 and later come with a bundled xdebug at /php/ext/php_xdebug.dll, without a version number. xdebug.remote_enable=1 xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 ; Port number must match debugger port number in NetBeans IDE Tools > Options > PHP xdebug.remote_handler=dbgp xdebug.profiler_enable=1 xdebug.profiler_output_dir="c:\wamp\xdebug" xdebug.var_display_max_depth = 10 xdebug.var_display_max_data = 2048 [XDebug] ; 仅限Zend或(!)XDebug zend_extension=C:\wamp\bin\php\php5.3.0\ext\php_xdebug-2.0.5-5.3-vc6.dll ; XAMPP和XAMPP Lite 1.7.0及更高版本在/php/ext/phpxdebug.dll上附带了一个捆绑的xdebug,没有版本号。 xdebug.remote\u enable=1 xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 ; 端口号必须与NetBeans IDE工具>选项>PHP中的调试器端口号匹配 xdebug.remote_handler=dbgp xdebug.profiler_enable=1 xdebug.profiler\u output\u dir=“c:\wamp\xdebug” xdebug.var\u显示\u最大\u深度=10 xdebug.var\u display\u max\u data=2048

(请考虑断线)< /P> < P>执行<强> PHP- ini >强>检查加载的配置文件。
如果您有类似的内容:

加载的配置文件:(无)
在:(无)中扫描其他.ini文件
解析的其他.ini文件:(无)


只需将您的php.ini复制到windows目录;)

您需要创建两个符号链接:

  • c:\php是指向当前php文件夹的符号链接
  • c:\windows\php.ini是指向当前php.ini文件的符号链接
  • 要在windows中创建符号链接,请使用mklink命令

    e、 g

    • mklink/D c:\php c:\path\to\your\php文件夹将符号链接到 目录
    • mklink c:\windows\php.ini c:\path\to\your\php\php.ini生成一个符号链接 归档
    在windows中,phpunit似乎看不到实际路径,通过符号链接,您可以为其创建虚拟默认路径

  • 打开php.ini
  • 寻找;zend_分机
  • 删除的开头;zend_扩展来启用它
  • 确保zend_extension的值是php_xdebug.dll的正确目录

  • 您好,phpinfo表示加载了以下ini文件C:\wamp\bin\apache\Apache2.2.11\bin\php.ini…这是我修改的文件,添加了以下设置:[XDebug]zend\u extension=“C:\wamp\bin\php\php5.3.0\ext\php\u XDebug.dll”XDebug.remote\u enable=1该路径,例如,
    C:\wamp\bin\apache\Apache2.2.11\bin\php.ini
    似乎表明您只更改了apache php配置文件,而没有更改CLI php配置文件。请参阅edorian的答案,了解如何找出您的CLI PHP使用的配置文件。您是对的!我真是个白痴。我在另一个CLI PHP配置文件中添加了zend_扩展名设置,现在它也可以在windows上运行。这一常见问题已经消失。当用户加载网页(这意味着他使用apache)时,正在使用PHP的模块版本,并且该版本的设置显示为phpinfo()Php——命令行中的ini命令显示独立cgi版本Php的设置。