PhpStorm + Xdebug:如何调试嵌套的CLI调用

时间:2016-11-09 13:11:44

标签: php phpstorm xdebug

我在PhpStorm中打开了PHP项目C:\project1,它从另一个PHP项目C:\project2执行PHP代码,在另一个PhpStorm实例中打开。像这样:

// in project1:
exec('php ../project2/script.php');

当我在project1开始调试时,断点被击中了。我正在尝试设置另一个项目,以便当project2/script.php中的代码执行时,其他PhpStorm中的断点也会被命中。

到目前为止,我尝试在project1中创建一个函数,如下所示:

function runCommand($cmd) {

    $env = $_SERVER;       

    if (isset($_SERVER["XDEBUG_CONFIG"])) {
        $env['XDEBUG_CONFIG'] = 'idekey=project2 remote_host=127.0.0.1 remote_port=9001';
    }

    $process = new Symfony\Process($cmd, null, $env);
    $process->run();
}

但没有喜悦,project2中的断点没有被击中。

1 个答案:

答案 0 :(得分:1)

它完全按照OP中的描述工作,我忘了在嵌套过程中,PhpStorm不会自动配置远程调试,所以我必须手动设置php.ini中的xdebug.remote_enable