任何人都知道吗?那个东西是默认安装的。但有没有一种简单的方法来检查是否安装了扩展程序?
我检查simplexml_load_string是否可用,但是如何在php.ini上没有列出simplexml
答案 0 :(得分:10)
还有另一种方式。你可以创建一个php页面
<?php
echo phpinfo();
?>
您可以在此处看到启用或禁用简单XML。
答案 1 :(得分:6)
这对我有用......
extension_loaded('simplexml')
示例:
if (extension_loaded('simplexml')) {
echo "all good, extension is installed";
} else{ echo "snip snap! no cigar";}
答案 2 :(得分:5)
在命令行上使用此命令:
php -i | grep -i simplexml
结果应该是这样的:
的SimpleXML
Simplexml支持=&gt;启用
答案 3 :(得分:4)
如果你的盒子上有命令行访问权限;
要么使用操作系统的软件包管理系统,要么运行php -m
,它应该列出PHP知道的所有已安装的模块。
任何已安装但未在php.ini或其他任何地方注册为扩展名的模块都不会显示。
应该注意,运行此命令只会告诉您为PHP的CLI二进制文件/配置启用了哪些扩展。这通常是,但可能并不总是与Apache / FPM二进制/配置启用的内容相匹配
答案 4 :(得分:1)
我使用的一种解决方案:
if(class_exists('XMLReader')){
}elseif(function_exists('simplexml_load_file')){
//simplexml available
}else{
}
答案 5 :(得分:0)
echo '<pre>';
print_r( get_loaded_extensions());
echo '</pre>';
这将显示扩展名列表。然后,如果您希望应用程序巧妙地告诉用户他们的设置不会运行您的代码,请使用in_array()。
编辑无论如何,这是win32上5.2.6的情况。