Symfony3命令 - pcntl不起作用

问题描述 投票:1回答:1

我想停止从控制器操作执行我的命令,所以我尝试使用pcntl来实现这一点。

这是我的代码(命令):

protected $should_stop = false;

protected function execute(InputInterface $input, OutputInterface $output)
{
    pcntl_signal(SIGHUP, [$this, 'stopCommand']);

    foreach($something as $row) {
       pcntl_signal_dispatch();

       if($this->should_stop === true) {
          break;
       }
       ...
    }
}

protected function stopCommand()
{
    $this->should_stop = true;
}

但是,当我运行我的命令时,它显示错误:

  [Symfony\Component\Debug\Exception\UndefinedFunctionException]                   
  Attempted to call function "pcntl_signal" from namespace "AppBundle\Command".

我不知道如何解决它,你们可以帮忙吗?此外,如果您有任何其他好的方法如何停止从控制器操作执行symfony命令,如果您可以在此处发布解决方案将是很好的。

php symfony pcntl
1个回答
0
投票

我在我的mac上重新安装了XAMPP,这里是php -m:

[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dba
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
imap
json
ldap
libxml
mbstring
mcrypt
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_pgsql
pdo_sqlite
Phar
posix
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlrpc
xmlwriter
xsl
zip
zlib

现在它在控制台中运行而没有错误,但是当我从我的控制器运行此命令时,它显示与以前相同的错误。

© www.soinside.com 2019 - 2024. All rights reserved.