对此问题的任何帮助表示赞赏,当我从后端管理面板上传产品图片时,我收到此错误。
Warrning: Invalid argument supplied for foreach() in /Applications/AMPPS/www/magento/app/code/core/Mage/Core/Model/File/Validator/NotProtectedExtension.php on line 91
经过一些调试后,我明白了
$extensions = $helper->getProtectedFileExtensions()
返回null,因此返回foreach错误。
我最近没有上传任何图片,所以我不知道是什么特别的变化触发了这个。
答案 0 :(得分:4)
在调试错误
中浪费了一天之后弄清楚了问题我可能已经搞乱了安装脚本并在 core_config_data 表中插入了以下行
path => 'general', value => NULL
这导致'general'的配置树指向NULL,因此指向键
'general/file/protected_extensions'
永远不会下降。由于数据库值是在从xml文件中获取配置值之后填充和添加的,因此上面的行删除了以路径 general
开头的所有键答案 1 :(得分:0)
检查你是否有这个:
<protected_extensions>
<!-- PHP script file extension -->
<php>php</php>
<!-- File extension of configuration of an Apache Web server -->
<htaccess>htaccess</htaccess>
<!-- Java script file extension -->
<jsp>jsp</jsp>
<!-- Perl script file extension -->
<pl>pl</pl>
<!-- Python script file extension -->
<py>py</py>
<!-- Active Server Page script file extension -->
<asp>asp</asp>
<!-- UNIX command prompt file extension -->
<sh>sh</sh>
<!-- Common Gateway Interface script extension type -->
<cgi>cgi</cgi>
<!-- BOF HTML file extensions -->
<htm>htm</htm>
<html>html</html>
<phtml>phtml</phtml>
<shtml>shtml</shtml>
<!-- EOF HTML file extensions -->
</protected_extensions>
<{1>}中的(Magento 1.7.0.1中的第377-400行)。
如果没有,你已经编辑了一个核心文件,这不是一个好主意。如果存在,请检查db,core_config_table,path =&#39; general / file / protected_extensions&#39;。不应该是什么。
最后,如果为此参数设置了默认值,请检查其他模块(社区和本地)的config.xml,如下所示的块:
app\code\Core\Magento\Core\etc\config.xml