使用未定义常量 SIGTERM -> 假定 'SIGTERM'

Use of undefined constant SIGTERM - > assumed 'SIGTERM'

目前 运行 PHPUnit 在我的 Windows 机器上使用 Codeception 给了我一个错误:

[PHPUnit_Framework_Exception]
Use of undefined constant SIGTERM - assumed 'SIGTERM'

据我所知,SIGTERMPCNTL提供的常量,Windows不支持。这样,这个 CONSTANT 不应该用于在 Windows 环境上进行测试 运行。完全没有。

我的 PHP 设置:

PHP 5.6.17 (cli) (built: Jan  6 2016 13:28:38)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies

PHP单位

PHPUnit 5.7.15 

解码

Codeception PHP Testing Framework v2.2.9

phiremock-codeception-extension

phiremock-codeception-extension v1.2.2

问题取决于 phiremock-codeception-extension,它使用 SIGTERM 而未检查 OS/PCNTL 扩展名是否可用。所以我在 GitHub https://github.com/mcustiel/phiremock-codeception-extension/issues/4..

创建了一个错误报告

这是被感染的代码行 - https://github.com/mcustiel/phiremock-codeception-extension/blob/master/src/Extension/PhiremockProcess.php#L74

/**
 * Stops the process.
 */
public function stop()
{
    $this->process->signal(SIGTERM);
    $this->process->stop(3, SIGKILL);
}

开发人员解决问题后,我会更新此答案。


更新

此问题已在 phiremock-codeception-extension v.1.2.3 中修复。