如何检查PCNTL模块存在(How to check PCNTL module exists)

2019-10-18 05:54发布

我写简单的要求检查脚本。 它会检查所有需要安装PHP模块。 我需要检查是否安装了pcntl。 但这种模块只在CGI环境网页查询访问,不可见的。 extension_loaded( '了pcntl')和function_exists( 'pcntl_fork')都返回false。 我怎样才能执行此检查?

Answer 1:

创建一个名为cli_supports.php文件

  <?php
  $supports = array();
  if (function_exists("pcntl_fork")) $supports[] = "pcntl";
  echo implode(",", $supports);
  ?>

然后从功能检测脚本做。

  $cli_features = explode(",", shell_exec("/usr/local/bin/php ".escapeshellarg(_DIR_."/cli_supports.php")));


Answer 2:

如果已安装,代码波纹管返回true

var_dump (extension_loaded('pcntl'));


Answer 3:

运行php -i | grep pcntl php -i | grep pcntl如果启用了pcntl将返回以下。

pcntl

pcntl support => enabled



Answer 4:

如果你确定它的支持(或共享对象存在),然后检查你的php.ini,并确保它的加载作为一个扩展。

extension_loaded()应该工作(我更喜欢什么function_exists()我可以想像它的唯一理由不会就是你不加载共享对象。



文章来源: How to check PCNTL module exists