如何比较两个包版本号

Ste*_* RC 2 php versions

我正在用 PHP 编写一个脚本,需要比较两个包版本以确定哪个是更新的。

PHP 有一个方便的函数,叫做version_compare(),但它真的很容易与一些更有创意的版本号混淆。例如,version_compare()认为0.9.8g-16ubuntu3.10.9.8o-1ubuntu4.4.

有谁知道我怎样才能让它发挥作用?

我很高兴使用exec().

Céd*_*ien 9

看看dpkg --compare-versions选项,它将允许您要求 dpkg 进行比较:)

dpkg --compare-versions 0.9.8g-16ubuntu3.1 lt 0.9.8o-1ubuntu4.4
Run Code Online (Sandbox Code Playgroud)

将返回 0,这意味着0.9.8g-16ubuntu3.1lt(小于,<)到0.9.8o-1ubuntu4.4