编程语言
首页 > 编程语言> > php-使用未定义的常量SIGTERM->假定为’SIGTERM’

php-使用未定义的常量SIGTERM->假定为’SIGTERM’

作者:互联网

当前在Windows机器上运行带有Codeception的PHPUnit会给我一个错误:

[PHPUnit_Framework_Exception]
Use of undefined constant SIGTERM –
assumed ‘SIGTERM’

据我所知,SIGTERM是PCNTL提供的常数,Windows不支持.这样,该常数就不能用于Windows env上运行的测试.完全没有

我的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

PHPUnit的

PHPUnit 5.7.15 

Codeception

Codeception PHP Testing Framework v2.2.9

phiremock-codeception-extension

phiremock-codeception-extension v1.2.2

解决方法:

问题取决于使用SIGTERM的phiremock-codeception-extension,而没有检查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中修复.

标签:codeception,php,php-5-6,phpunit,window
来源: https://codeday.me/bug/20191011/1889092.html