如何检测PHP脚本中是否安装了PEAR包?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何检测PHP脚本中是否安装了PEAR包?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1367字,纯文字阅读大概需要2分钟。
内容图文
![如何检测PHP脚本中是否安装了PEAR包?](/upload/InfoBanner/zyjiaocheng/821/105dc6b2060e440db3f33eb1d270c596.jpg)
我正在尝试编写一些代码来跟踪依赖项.有没有办法以编程方式检测是否已安装PEAR包?我想的是:
if ($some_pear_api->isPackageInstalled('FooPack')) {
echo 'FooPack is installed!';
} else {
echo 'FooPack is not installed. :(';
}
我知道您可以简单地检测该包的类文件是否存在,但我主要想知道PEAR是否已安装,因为有时一些库提供了包含其代码的其他方法(例如PHPUnit有一个梨通道以及一个git repo ).
谢谢您的帮助!
解决方法:
您需要使用PEAR_Registry类来执行此操作(这是PEAR脚本本身使用的).
从3年前开始阅读Adam Harvey的博客文章“pear -> list” – 您需要的所有细节/示例都在那里.
include 'PEAR/Registry.php';
$reg = new PEAR_Registry;
foreach ($reg->listPackages() as $package) {
print "$package\n";
}
如果您需要这个来检查每个包的特定版本,那么您可以基于以下示例,我在该博客条目的注释中提供了以下示例:
<?php
require 'PEAR/Registry.php';
$reg = new PEAR_Registry;
define("NAME", 0);
define("VERSION", 1);
$packages = array(
array("PEAR", "1.6.2"),
array("Date", "1.4.7"),
array("Date_Holidays", "0.17.1"),
array("Validate_IE", "0.3.1")
);
foreach ($packages as $package) {
$pkg = $reg->getPackage($package[NAME]);
$version = $pkg->getVersion();
echo "{$package[NAME]} – {$package[VERSION]} – ";
echo version_compare($version, $package[VERSION], '>=') ? 'OK': 'BAD', "\n";
}
?>
如果您需要复制并粘贴它,那么最好在https://gist.github.com/kenguest/1671361使用该版本.
内容总结
以上是互联网集市为您收集整理的如何检测PHP脚本中是否安装了PEAR包?全部内容,希望文章能够帮你解决如何检测PHP脚本中是否安装了PEAR包?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。