在 Magento 中上传产品图片时出现 PHP Foreach 错误

Jos*_*ynn 1 php magento

感谢您对此问题的任何帮助,当我从后端管理面板上传产品图片时,出现此错误。

Warrning: Invalid argument supplied for foreach() in /Applications/AMPPS/www/magento/app/code/core/Mage/Core/Model/File/Validator/NotProtectedExtension.php on line 91
Run Code Online (Sandbox Code Playgroud)

做了一些调试后,我明白了

$extensions = $helper->getProtectedFileExtensions()
Run Code Online (Sandbox Code Playgroud)

正在返回 null ,因此是 foreach 错误。

我最近没有上传任何图片,所以我不知道是什么特定的变化触发了这个。

Jos*_*ynn 6

浪费了一天时间调试错误,找出问题所在

我可能弄乱了设置脚本,并在core_config_data表中插入了下面的行

path => 'general', value => NULL
Run Code Online (Sandbox Code Playgroud)

这导致“general”的配置树指向 NULL,因此是关键

'general/file/protected_extensions'
Run Code Online (Sandbox Code Playgroud)

永远无法下降。由于数据库值是在从 xml 文件中获取配置值之后填充和添加的,因此上面的行删除了所有以路径general开头的键