连接到多个Magento网站


Connect to multiple Magento websites

我需要创建一个php批处理脚本,该脚本连接到多个Magento网站,并执行一些数据库更新。它们都运行在同一个Web服务器上。

我希望能够创建一个单一的循环脚本,而不是多个脚本(每个网站一个)。但我也希望在php代码中使用Magento模型(app/Mage.php等)。

如何控制Magento模型使用的网站/数据库?

您可以编写一个脚本,在所有的magento安装(包括它们的Mage.php)中循环,并让数据库处理程序运行查询。类似这样的东西:

<?php
$mySql = 'UPDATE ... WHERE ...;';
$magentos = array('/web/magento1/', '/web/magento2/');
foreach ($magentos as $m) {
    require_once($m.'app/Mage.php');
    Mage::app('default');
    Mage::getSingleton('core/resource')->getConnection('core_write')->query($mySql);
}

也许您还围绕sql添加了一个事务,并输出查询结果,以确保一切正常。要控制使用哪个网站,请将该网站添加到您的阵列中并更改Mage::app("默认");