我刚刚移动到另一台服务器,无法使用 Magmi 重新索引,我收到以下错误:
此脚本无法从浏览器运行。这是外壳脚本。
谢谢!
当您从浏览器运行 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.');
}
}