9 使用安装网站时,我的功能模块和安装配置文件出现问题drush si。Features问题队列中有许多可能相关的问题,但是没有一个好的解决方案。有趣的部分(在某些问题中提到)是,通过浏览器安装站点时,它可以正常工作,但使用进行安装时,它会失败drush si。 我有什么问题的想法,但需要确认。我能想到的唯一确认方法是使用调试器逐步完成代码(Xdebug是我设置的)。因此,是否有可能从使用Drush运行的命令中触发Xdebug?具体来说,我可以在运行时让Xdebug启动drush si吗? debugging drush — 乔尔基 source
4 您必须记住,使用drush可以使您(最可能是)处于cli,因此这应该有所帮助: /programming/1947395/how-can-i-debug-a-php-cli-script-with-xdebug 另外,请尝试使用-d(--debug)选项运行命令-它应该为您提供很多有关发生问题的信息。 — 莫吉斯 source 您可以在Drush / Drupal专用代码中添加一些有关设置断点的信息吗?即文件中的行号,如果运行drush,调试器将中断该行号? — therobyouknow 2014年 我的问题的答案似乎在这里:randyfay.com/content/…:-“如果要调试大多数紧急操作,则可以在include / bootstrap.inc中drupal_bootstrap()的第一行上设置一个断点。 — therobyouknow 2014年
3 您可以使用xdebug_start_trace()和xdebug_stop_trace()XDebug函数按需启动调试器。确保首先在CLI中配置了XDebug(php -i | grep xdebug)。 然后按如下所示创建新的一线PHP文件(例如drush_xdebug_start.inc): <?php xdebug_start_trace(); 然后按以下方式运行草绘: drush --early="$PWD"/drush_xdebug_start.inc whatever_command_you_need — Kenorb source
2 我一直在对请求请求使用XDebug。 通过运行确保XDebug已加载到CLI php中 php -i 确保您的客户端正在监听XDebug连接,并且正在正确的端口上监听。我已成功使用PHPStorm,Netbeans和Komodo IDE作为客户端进行了调试。 — 莫西·韦茨曼 source 1 您能否举个例子说明在哪里(在drush本身内或在drush调用的另一段Drupal代码内)设置了一个断点,以便在运行drush时xdebug在这一行代码上中断? — therobyouknow 2014年 我的问题的答案似乎在这里:randyfay.com/content/…:-“如果要调试大多数紧急操作,则可以在include / bootstrap.inc中drupal_bootstrap()的第一行上设置一个断点。 — therobyouknow 2014年
1 假设您已经正确配置了Xdebug,那么很容易集成IDE来逐步执行代码。只需将环境变量XDEBUG_CONFIG设置为“ idekey = MYIDEKEY”。 通过为其设置别名来使其更容易。这是我在.alias文件(tcsh)中使用的: alias xdebugon 'setenv XDEBUG_CONFIG "idekey=MYIDEKEY"' alias xdebugoff 'unsetenv XDEBUG_CONFIG' — 哈里·斯劳特 source