繁体   English   中英

WordPress迁移-500内部服务器错误

[英]Wordpress Migration - 500 Internal Server Error

下午好! 这是我第一次来此论坛,我在这里是因为我有一个与Wordpress制作的网站迁移有关的问题。

首先,让您知道,我在Hostinger上构建了网站,但该网站位于一个临时区域,仅用于测试。 http://www.sitepf.esy.es

在此区域中,站点将打开并正常运行。 但是,当尝试将站点转移到我的主域http://www.piscinafacil.com.br时 ,它显示以下错误: 500-Internal Server Error。

我的主要领域是在与其他域相同的测试站点帐户Hostinger中。

为了将站点迁移到另一个域,我组成了旧站点和mysql数据库,然后通过ftp发送了该站点,创建了一个新的mysql数据库,通过phpMyAdmin导入了文件“ sql.gz”,然后在wp中更改了数据库设置-config.php。

还要在phpMyAdmin中检查,siteURL字段将指向所需的地址(piscinafacil.com.br),一切正常。

尝试输入piscinafacil.com.br地址时,显示错误500-内部服务器错误。

可能出什么问题了? 谢谢您的帮助

编辑:我的PHP日志错误:

[27-Sep-2016 17:54:17 UTC] PHP Warning:  file_exists(): open_basedir restriction in effect. File(/home/u588888949/public_html/wp-content/uploads/2016/09) is not within the allowed path(s): (/home/u113554601:/tmp:/var/tmp:/opt/php-5.5/pear:/usr/local/bin:/etc/pki/tls/certs) in /home/u113554601/public_html/wp-includes/functions.php on line 1611
[27-Sep-2016 17:54:17 UTC] PHP Warning:  is_dir(): open_basedir restriction in effect. File(/home/u588888949/public_html/wp-content/uploads/2016) is not within the allowed path(s): (/home/u113554601:/tmp:/var/tmp:/opt/php-5.5/pear:/usr/local/bin:/etc/pki/tls/certs) in /home/u113554601/public_html/wp-includes/functions.php on line 1616
[27-Sep-2016 17:54:17 UTC] PHP Warning:  is_dir(): open_basedir restriction in effect. File(/home/u588888949/public_html/wp-content/uploads) is not within the allowed path(s): (/home/u113554601:/tmp:/var/tmp:/opt/php-5.5/pear:/usr/local/bin:/etc/pki/tls/certs) in /home/u113554601/public_html/wp-includes/functions.php on line 1616
[27-Sep-2016 17:54:17 UTC] PHP Warning:  is_dir(): open_basedir restriction in effect. File(/home/u588888949/public_html/wp-content) is not within the allowed path(s): (/home/u113554601:/tmp:/var/tmp:/opt/php-5.5/pear:/usr/local/bin:/etc/pki/tls/certs) in /home/u113554601/public_html/wp-includes/functions.php on line 1616
[27-Sep-2016 17:54:17 UTC] PHP Warning:  is_dir(): open_basedir restriction in effect. File(/home/u588888949/public_html) is not within the allowed path(s): (/home/u113554601:/tmp:/var/tmp:/opt/php-5.5/pear:/usr/local/bin:/etc/pki/tls/certs) in /home/u113554601/public_html/wp-includes/functions.php on line 1616
[27-Sep-2016 17:54:17 UTC] PHP Warning:  is_dir(): open_basedir restriction in effect. File(/home/u588888949) is not within the allowed path(s): (/home/u113554601:/tmp:/var/tmp:/opt/php-5.5/pear:/usr/local/bin:/etc/pki/tls/certs) in /home/u113554601/public_html/wp-includes/functions.php on line 1616
[27-Sep-2016 17:54:17 UTC] PHP Warning:  is_dir(): open_basedir restriction in effect. File(/home) is not within the allowed path(s): (/home/u113554601:/tmp:/var/tmp:/opt/php-5.5/pear:/usr/local/bin:/etc/pki/tls/certs) in /home/u113554601/public_html/wp-includes/functions.php on line 1616
[27-Sep-2016 17:54:17 UTC] PHP Warning:  is_dir(): open_basedir restriction in effect. File(/) is not within the allowed path(s): (/home/u113554601:/tmp:/var/tmp:/opt/php-5.5/pear:/usr/local/bin:/etc/pki/tls/certs) in /home/u113554601/public_html/wp-includes/functions.php on line 1616

我建议采用一种完全不同的替代方法:

在您的测试站点( http://www.sitepf.esy.es/ )上,安装以下插件:

https://wordpress.org/plugins/duplicator/

接下来,生成一个Duplicator软件包(通过wp-admin dashboad上的插件菜单)。

生成软件包后,将两个软件包文件(installer.php和archive / zip文件)下载到您的PC。 接下来,将这两个文件上载到要迁移/创建站点的站点的Web根目录( http://www.piscinafacil.com.br/ )。 接下来,在浏览器中打开以下链接:

http://www.piscinafacil.com.br/installer.php

并按照屏幕上的说明进行操作。 您的网站应该已创建,并且一切正常。

500错误通常与.htaccess有关,该错误不会随新服务器路径更新。 但这也可能是数据库问题。 导出数据库时,请确保打开.sql文件,并用新域名查找/替换旧域名。 还要查找任何旧路径(例如,它们看起来像-/ home / something / public_html / ...)。 它们也应该被新的替换。

当我要将一个WP站点移至另一台主机或域时,我总是这样做:

1.-将新域设置为新的wordpress站点(安装其自己的Db和新的wordpress文件)

2.-验证新域是否使用默认模板加载页面

3.-仅通过FTP复制和粘贴旧站点中的“ WP-content”文件夹。

4.-然后通过phpMyAdmin将旧站点的数据库导入新数据库。

5.-该站点现在必须在新域中运行

先决条件:

  • 必须具有来自所有WP站点的备份(所有文件),还必须具有来自数据库的备份(SQL和Zip格式...以防万一)

  • 必须创建新的站点文件夹

  • 必须已安装最新的Wordpress版本。

没有访问服务器的权限很难说,但是看来wordpress文件位于错误用户的文件夹中。 您的服务器似乎有一个限制,该限制仅允许php文件系统访问一组特定的文件夹:

/ home / u588888949 / public_html是存储文件的位置
/ home / u113554601是您的php脚本可以访问的文件夹

您可能需要修改PHP服务器配置,以添加对/home/u588888949文件夹的访问权限。

感谢您发布错误日志。 现在很清楚问题是什么,但是问题的具体原因可能是其中几件事。 您知道您使用的是哪种网络服务器吗? (Apache / Nginx)。

如果是apache,则应查看.htaccess文件;如果是nginx,则应查看您的虚拟主机。 在这些文件中,您需要设置open_basedir以包括文件存储目录。

看起来您的open_basedir当前设置为

/home/u113554601:/tmp:/var/tmp:/opt/php-5.5/pear:/usr/local/bin:/etc/pki/tls/certs

注意/ home之后的子目录是错误的一个

更换/home/u113554601/home/u588888949会在这里正确的解决方案,但它也像一些脚本试图访问/和/ home这可能是有问题的。 请不要试图将/添加到open_basedir,因为从服务器安全性的角度来看这非常危险

如果更正open_basedir列表仍然导致问题,请发布更新的错误日志。

如果您可以访问.htaccess或虚拟主机,则可以直接对其进行编辑,但是可能使用的是控制面板,例如cPanel。 在大多数此类控制面板中,您将可以在Web界面中修改这些值。

检查站点主文件夹(域重定向到的)中的.htaccess文件,以查找在# Begin wordpress之前输入的行。

他们可能试图以旧的方式强制执行操作,即当您的网站位于子文件夹中时。 这些行可能是这样的(也将有其他行,但这将是引起问题的行):

# RewriteBase /subfolder/
# RewriteRule . /subfolder/index.php [L]

现在,当您为站点配置了顶级域时,这些行会强制所有请求进入幽灵子文件夹,从而导致错误。 就我而言,这也发生了,我浪费了一天重新安装整个网站,并尝试使用多个优化/清理插件,只是发现问题出在.htaccess而我的wordpress安装很好。

这些行可能是由installatron或我们用来安装wordpress网站的cpanel上的类似应用程序输入的; 有人应该告诉他们停止这样做,因为wordpress本身在# BEGIN Worpress注释之后插入了相同的行。

#注释掉它们或将其删除,保存.htaccess,然后所有页面都应加载正常。 我从https://stackoverflow.com/a/23631313/4355695获得了此解决方案。

在我的情况下,wp-admin文件夹具有密码。 因此,我只是删除了wp-admin文件夹中的.htaccess文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM