目录、文件的权限
有一些主机安装magento显示500错误,如果你确认主机支持magento的所有组件,那么很可能和目录、文件的权限有关。
原因:There are a lot of hosts out there that don’t allow permissions of 777 for directories or 666 for
files now. This makes things “Group” writable which is a security risk. This isn’t a MySQL, htaccess, or
anything else issue, it has to do with suphp stuff and is a little unavoidable.
有些主机为了安全,不允许Group写, 因此上传magento后默认的权限目录775、文件664是无法安装和运
行的。
需要将magento目录下所有的子目录和文件的权限修改为755和644.
(downtownhost主机就是其中一个,我也遇到过这样的问题,在cpanel里查看error log才发现原因)
如果主机支持SSH,则可以这样操作:
进入ssh终端和magento安装目录,输入命令 (注意分号不要漏下,maxdepth 1表示当前目录下,实际操作时,需要指定为
maxdepth 10,这样确保所有的子目录和文件都可以被修改了)
修改文件权限:find -maxdepth 10 -type f -exec chmod 644 {} ;
修改目录权限:find -maxdepth 10 -type d -exec chmod 755 {} ;
这个方法没能解决我安装过程中出现的错误,我是通过设置了文件夹权限775,文件权限755把这个问题解
.htaccess规则导致
最终原因是默认安装包中.htaccess规则导致的。我们在安装的时候只要把.htaccess文件改个名字就可以正常安装了。
如果magento需要做伪静态,我们在安装过程中选择apache rw模块或安装成功后登录magento开启伪静态功能就搞定了。这里提醒下安装magento站长注意。
是什么原因导致的类?我看过官方安装包中的htaccess规则,是由于几条规则是控制或关闭一些apache参数导致的(如关闭安全模式)。无忧主机为了空间安全稳定,是禁止用户通过.htaccess规则解析php.ini文件或apache配置的。Magento的规则在独立服务器或VPS或空间安全机制管理不严格的空间上安装是不会提示这个错误的。
Magento修改用户信息出现500错误的解决方法
现象:
用户修改个人信息时,页面空白,查看日志,发现错误:
PHP Fatal error: Call to a member function setAttribute() on a non-object in ../app/code/core/Mage/Eav/Model/Attribute/Data.php on line 80, referer: ...
解决方法:
执行此语句找到所有fronted_input为空的属性,将fronted_input改为任意合法的值(text、select等等):
SELECT * FROM `eav_attribute` where attribute_id in (select attribute_id from customer_eav_a