banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

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

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.