如何将XDebug zend_extension添加到php.ini?

时间:2014-07-09 15:35:23

标签: php xdebug

我有一个带有cPanel WHM的VPS,我正在尝试启用XDebug。我通过转到WHM -> Software -> Module Installers -> PHP Pecl -> Manage安装了扩展程序,并通过查看我的phpinfo()页面确认已安装该扩展程序。

下一步是在我的php.ini文件中启用XDebug,但我有点困惑我应该怎么做。

/usr/local/lib中查看php.ini,我在底部看到这一行:

zend_extension="/usr/local/Zend/lib/Guard-6.0.0/php-5.4.x/ZendGuardLoader.so"

然而,在WHM中 - >服务配置 - > PHP配置编辑器,有一个" zend_extension"具有此值的选项:

/usr/local/IonCube/ioncube_loader_lin_5.4.so, /usr/local/Zend/lib/Guard-6.0.0/php-5.4.x/ZendGuardLoader.so

所以我的问题是,我应该如何添加XDebug的路径:

/usr/local/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so

到php.ini?我看到了三种方法,我不知道哪种方法是正确的:

  1. 我可以将它添加到WHM
  2. 中逗号分隔的列表中
  3. 我可以直接在php.ini中添加它,在它和现有值之间加一个逗号
  4. 我可以把它放在php.ini
  5. 的新行上

    哪种方式正确?

2 个答案:

答案 0 :(得分:8)

高度依赖于PHP配置(./configure)。 PHP将查看xdebug.so扩展名的默认扩展路径;在这种情况下,您不需要指定任何路径:

zend_extension = xdebug.so

关于新行和逗号,我更喜欢新行,因为它可以让以后更容易删除扩展。我的php.ini看起来像这样(例子):

extension      = memcached.so
extension      = zopfli.so
zend_extension = opcache.so
zend_extension = xdebug.so

请注意字母顺序。

答案 1 :(得分:1)

您可以像下面这样在文件的底部添加:

zend_extension="/absolute/path/to/xdebug.so"

在我的情况下,我将其放入

zend_extension = /usr/lib64/php/modules/xdebug.so

但是 如果要同时使用Xdebug和OPCache,则必须在用于OPCache的行之后有用于Xdebug的zend_extension行。否则,它们将无法正常工作。 参见:answer