Home > 博客技巧, 语言编程 > wordpress 安装、升级500 interal server error错误原因分析及解决办法

wordpress 安装、升级500 interal server error错误原因分析及解决办法

今天升级wp2.7遭遇第一次服务器 500 interal server error 然后就是等待。。
连接数据库,PhpMyAdmin正常使用。。数据库没有问题
测试上传静态页面test.html,正常显示,Apach没问题
测试上传test.php,使用phpinfo();? 500 interal server error没有消失,? 继续显示。。。
问题出来了,主要在PHP
上网搜索,怀疑是phpcms问题
检查目录权限,修改wp根目录下所有文件权限为700
刷新phpCMS。。。等
测试test.php?。。通过
重新打开。。。一切OK


相信用过WP的老鸟们都经历过相似的问题吧,网上相关的求助也不少,往往菜鸟们都是直接 1、备份数据 2 、重新安装 3、还原数据 这三步居多,或者就是到各大论坛求助,然后就是等。本人今天也算是直接领略到了WP的第一次罢工,只是不过幸运点,以前用boblog+免费虚拟主机就遇到N回,请大家注意这里的免费虚拟主机,下面会讲到,好了废话不说

首先了解一下PHPCMS(PHP Content Manage System)这个东西可以参阅http://baike.baidu.com/view/110598.htm简单点就是Php内容管理系统可以提供对各种php应用(blog,论坛,网店,sns)进行底层支持和管理的系统管理的软件,也就是说一个服务器如果放置多个blog系统比如20个wordpress那么统一的管理肯定是需要的,现在的虚拟主机很多就是这种情况,服务器允许把服务器资源分配成多个独立部分让多个用户独立管理,但是一旦独立管理以后,部分用户肯定对自己的独立部分进行特定的设置,但是是不符合CMS的管理需要的,比如目录权限的管理,那么问题出来了,CMS禁用了用户的权限,而用户的独立系统又向CMS申请这写权限,申请成功当然么有问题,一旦失败,CMS就可能会对用户的非法越权进行相关的操作,比如功能禁用,像今天错误500 interal server error 就是一种情况,在WP中极有可能就是CMS取消了用户目录的PHP的支持,那么用户就得郁闷吧,没了PHP那还有什么WP呢,接着就是WP系统的报错500 interal server error 这样的页面就出现了

国内的大部分虚拟主机都是采用了CMS进行管理的,大部分收费的主机对用户的权限管理还是很轻松的,一般不会有太大限制,所以就有N多的WP,BoBlog出现了,但是不分国内的虚拟主机对用户权限还限制比较严格的,而且限制用户的操作,所以用这些主机的朋友很多是根本无法安装WP,或者安装成功,突然有一天出现比如 interal server error 之类的错误,然后就求助管理员帮助,解决问题还好,没有的话,只有哭吧,重新安装,俺就是一个倒霉的例子

问题分析完,就500 interal server error 怎们解决说点什么,原因不要说,就是你没有服务器授权权限(通常是rewrite)但是你的WP需要这样的权限,比如目录的删除,更名,或者文件的移动等等,我今天的问题也是如此上传之前忘了改权限700,700是UNIX/LINUX文件权限,可以参阅,linux/UNIX文件权限管理,就是除了所有者拥有全部权限其他任何用户都没有权限更改、删除,目的就是要让所有者有最大的权限,现在我们的问题具体地说就是是如果你的目录没有这么设置或者修改权限的话,而你用WP去删除它结果肯定是权限不足,但是CMS出于保护其他用户文件的目的会认为你是越权操作,会破坏其他用户的文件,当然会对你采取一定的措施,禁用你的脚本解析权限(php当然是其中之一)是一种重要方式,WP无法被解析,然后就是可怕的500 interal server error !

解决方法,首先必须保证自己的宿主主机给予你足够大的权限,最低也要rewite吧,国内的收费主机目前也都能给予,免费主机就不一定,毕竟是免费的,限制限制还是应该的,就像限制你的web流量一样,我用的是美橙VPS(电信机房chinaNet)+息壤虚拟主机(双线)备用,VPS权限肯定没有问题,息壤的主机也是支持rewrite+overwrite的,权限没有问题。

那问题肯定出在文件和目录的的用户自身设置权限上,如果你用LINUX主机,你的系统是windows,ftp上传,那问题不大,只要你在你的电脑上的文件没有设置只读,那么上传的服务器服务器会在创建文件时默认设置你ftp账户为文件所有者,拥有最高权限:7,同时服务器apach管理组用户(通常是这样)对文件的权限也设置为7,这样只要不是你的服务器没限制问题,修改本地文件的属性(取消只读)然后重新上传,问题就可以解决,然后记得联系下管理员,重新设置下你的权限,一定要联系管理员,他才拥有最高权限,他会帮你修改你被禁用的脚本解析,那么问题就可以解决,一般国内的主机提供商服务质量还是可以的,半小时可以解决,不然可以考虑换主机了,免费主机相对还是慢点的,毕竟是免费啊

再说linux系统上传UNIX/linux主机,相信用过的用户肯定有这样的经验,如果你用FTP上传一个文件到某个服务器,服务器又没有进行特定的设置,那们文件的权限记录还是保留的,这个在操作系统中叫权限array,这样可以方便两个终端(你的主机和服务器)进行文件管理,比如说我的主机上有文件设成700那么到主机上就是700,好了700问题还不大,要是权限设置得很低呢?问题就来了,文件到了服务器会保留权限设置,然后我们用WP进行一些rewrite操作,比如修改目录结构,结果不用我说了吧500 interal server error CMS+WP最常见的错误,哭吧,免费主机的朋友们,给管理员发邮件,然后直接是等。如果是国外主机的那还是接着哭吧,不知道要什么时候哦,本人就曾用过yahoo.com提供的免费主机,邮件发完(时间也不好,早上9点)等到第二天中午管理员回复修改好了整整20小时,你的网站如果每天1000IP的话,损失不用说了吧

所以linux用户,上传文件前,请一定要记得sudo一下,修改所有文件权限为777,最低要700吧,然后在上传,不然的话,突然有一天interal server error会来找你的,还有虚拟主机用户一定要尽快联系管理员解除PHP禁用,不要犯傻去备份、重装、还原,得不偿失,本人在用免费空间就曾遇到N次

如果你用VPS或者更高的话,那你可以直接到你的CMS后台,修改你blog的被禁用的部分,reset CMS ,问题就可以解决,1分钟之内

最后,通过本次实战过程的说明,本人提醒各位博友们,切记:LINUX主机什么最重要,权限!,上传之前一定要修改文件权限

如各位博友有任何疑问或者本文有任何问题,欢迎留言,必复

欢迎在《共同创作协议》下转载、修改,发布本文,转载请注明作者出处,谢谢,CG

  1. December 16th, 2008 at 10:20 | #1

    我也出现500错误了,怎么都弄不好,完蛋了!

  2. December 16th, 2008 at 10:21 | #2

    首页后台都不行,但是wp-admin/upgrade.php可以显示

  3. December 24th, 2008 at 12:41 | #3

    顶~~~~我叫爱情地图,希望能交个朋友哈!

  1. No trackbacks yet.