0

我刚刚移动到另一台服务器,无法使用 Magmi 重新索引,我收到以下错误:

此脚本无法从浏览器运行。这是外壳脚本。

谢谢!

4

1 回答 1

1

当您从浏览器运行 Magmi 时会发生此错误,因为 Magmi 使用shell_exec命令运行索引器,并且$_SERVER['REQUEST_METHOD']不会取消设置。

您可以尝试以下两种方法之一。

方法 1.取消设置$_SERVER['REQUEST_METHOD']Magento 用于检查 shell 文件是否正在从浏览器运行的变量。

为此,打开magmi/plugins/base/general/reindex/magmi_reindexing_plugin.php

寻找:

    public function updateIndexes()
    {

updateIndexes()函数的顶部,添加以下内容:

    if(isset($_SERVER['REQUEST_METHOD']))
    {
        unset($_SERVER['REQUEST_METHOD']);  
    }

所以它看起来像这样:

    public function updateIndexes()
    {
        if(isset($_SERVER['REQUEST_METHOD']))
        {
            unset($_SERVER['REQUEST_METHOD']);  
        }

方法二:修改_validate()函数 [magento_root]/shell/abstract.php

打开[magento_root]/shell/abstract.php

寻找:

    protected function _validate()
    {
        if (isset($_SERVER['REQUEST_METHOD'])) {
            die('This script cannot be run from Browser. This is the shell script.');
        }
    }

用。。。来代替:

    protected function _validate()
    {
        if (isset($_SERVER['REQUEST_METHOD'])) {
            //die('This script cannot be run from Browser. This is the shell script.');
        }
    }
于 2013-10-15T14:51:31.497 回答