我刚搬到另一台服务器,无法使用Magmi重新索引,我收到以下错误:
此脚本无法从浏览器运行。这是shell脚本。
谢谢!
答案 0 :(得分:1)
当您从浏览器运行Magmi时会发生此错误,因为Magmi使用shell_exec
命令运行索引器,并且$_SERVER['REQUEST_METHOD']
未被取消设置。
您可以尝试以下两种方法之一。
方法1。取消设置Magento用于检查是否正在从浏览器运行shell文件的$_SERVER['REQUEST_METHOD']
变量。
要执行此操作,请打开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']);
}
方法2:修改_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.');
}
}