1

我托管了一堆 Wordpress 网站,我想制作一个脚本,每天检查它们的版本,如果它们与 Wordpress 的最新版本不匹配,它会通知我。

现在我发现检查他们的版本最简单的方法是查看 wp-includes/version.php 文件,所以我做了这个:

grep "$wp_version =" /home/*/public_html/wp-includes/version.php > /~/wordpress/versions.txt

上面的行将放在每天执行一次的 cron 上。

现在我想制作一个 php 脚本,它将上述脚本的每一行组织成一个表格,如下所示:

文件夹(安装 wordpress 站点的文件夹);版本

然后,我希望脚本检查上面的“版本”是否与我将设置的变量 $wp_latest_version 匹配。如果它们匹配,“版本”单元格将变为绿色,如果不匹配,“版本”单元格将变为红色,以便我或同行可以知道我们需要更新哪些站点。

我对如何完成最后一部分有了一定的了解,但现在我陷入了“将 .txt 文件转换为表格”的过程中。

有什么建议么?

另外,我应该使用MySQL吗?

这是我想翻译成表格的输出文本的一部分:

/home/alton/public_html/wp-includes/version.php:$wp_version = '3.5.2';
/home/boutaces/public_html/wp-includes/version.php:$wp_version = '3.4';
/home/byseacom/public_html/wp-includes/version.php:$wp_version = '3.5.2';
/home/capricho/public_html/wp-includes/version.php:$wp_version = '3.5.1';
/home/carlosva/public_html/wp-includes/version.php:$wp_version = '3.6.1';
/home/cerimoni/public_html/wp-includes/version.php:$wp_version = '3.5.1';
/home/cotaksis/public_html/wp-includes/version.php:$wp_version = '3.6.1';
/home/crisblog/public_html/wp-includes/version.php:$wp_version = '3.5';
/home/customup/public_html/wp-includes/version.php:$wp_version = '3.5.2';
/home/dentist/public_html/wp-includes/version.php:$wp_version = '3.4.2';
4

1 回答 1

0
foreach($lines as $line)
{
    if(preg_match('|\/home\/(.+?)\/public_html\/wp-includes\/version.php:\$wp_version = '(.+?)';|', $line, $matches))
    {
        $folder = $matches[1];
        $version = $matches[2];
    }
}

将值与字符串分开后,将它们写入您选择的数据库或文件中。

于 2013-10-04T18:48:51.313 回答