我在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中的断点没有被击中。
答案 0 :(得分:1)
它完全按照OP中的描述工作,我忘了在嵌套过程中,PhpStorm不会自动配置远程调试,所以我必须手动设置php.ini中的xdebug.remote_enable
。