什么是脚本检测php是否安装,如何检测PHP脚本中是否安装了PEAR包?

我正在尝试编写一些代码来跟踪依赖项.有没有办法以编程方式检测是否已安装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";

}

如果您需要这个来检查每个包的特定版本,那么您可以基于以下示例,我在该博客条目的注释中提供了以下示例:

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";

}

?>

标签:php,pear

来源: https://codeday.me/bug/20190526/1157330.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值