0

我已经创建了一个工作 magento 站点现在我正在尝试基于现有工作站点创建一个测试环境。它位于同一台服务器上,并将位于不同的子域下。

workingSubDomain.domain.com/store/ newSubDomain.domain.com/store/

我保持子存储目录结构与工作站点相同。

我已经将所有文件夹设置为 755,并将 app/etc/、media、var 设置为 777

在安装向导配置页面上单击继续后,我收到 500 错误。

服务器日志文件显示以下内容:

PHP Fatal error: Call to a member function insert() on a non-object in /var/www/vhosts/domain.com/magentoFolder/subStore/app/code/core/Mage/Core/Model/Resource/Resource.php on line 133, referer: http://newSubDomain.domain.com/subStore/index.php/install/wizard/config/?config%5Blocale%5D=en_US&config%5Btimezone%5D=America%2FChicago&config%5Bcurrency%5D=USD

我在 .htaccess 文件夹中尝试了以下 url 重写:

RewriteEngine On
RewriteBase /clint/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /clint/index.php [L]

RewriteBase /magentoFolder/subStore

RewriteBase /magentoFolder/subStore/

RewriteBase /magentoFolder/

RewriteBase /subStore/

我也清除了 var 文件夹。

任何建议将不胜感激。

这是 resource.php 文件中第 133 行的代码:

 * Set module version into DB
 *
 * @param string $resName
 * @param string $version
 * @return int
 */
public function setDbVersion($resName, $version)
{
    $dbModuleInfo = array(
        'code'    => $resName,
        'version' => $version,
    );

    if ($this->getDbVersion($resName)) {
        self::$_versions[$resName] = $version;
        return $this->_getWriteAdapter()->update($this->getMainTable(),
                $dbModuleInfo,
                array('code = ?' => $resName));
    } else {
        self::$_versions[$resName] = $version;
        return $this->_getWriteAdapter()->insert($this->getMainTable(), $dbModuleInfo);
    }
}
4

1 回答 1

0

这不是 apache 错误,而是 php 错误。看一下/var/www/vhosts/domain.com/magentoFolder/subStore/app/code/core/Mage/Core/Model/Resource/Resource.php,第133行

可能是数据库连接错误。

于 2012-08-30T03:12:24.837 回答