我写简单的要求检查脚本。 它会检查所有需要安装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