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

时间:2016-09-27 17:14:12

标签: php mysql wordpress

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

首先,您要注意,我建立了Hostinger托管的网站,但是在临时区域,仅用于测试。 http://www.sitepf.esy.es

在此区域中,网站会打开并正常运行。但是,在尝试将网站转移到我的主域http://www.piscinafacil.com.br时,会显示以下错误: 500 - 内部服务器错误。

我的主要区域位于相同的测试网站帐户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

7 个答案:

答案 0 :(得分:1)

我建议采用以下完全不同的替代方法:

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

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

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

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

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

并按照屏幕说明操作。您的网站应该被创建,一切都应该正常。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

当我想将一个WP站点移动到另一个主机或域时,我总是这样做:

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

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

3.-通过FTP复制并粘贴旧网站上的“WP-content”文件夹。

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

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

先决条件:

  • 必须从所有WP站点(所有文件)备份并从数据库备份(以SQL和Zip格式...以防万一)

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

  • 必须安装最后一个Wordpress版本。

答案 3 :(得分:0)

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

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

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

答案 4 :(得分:0)

感谢您发布错误日志。现在很清楚现在的问题是什么,但问题的具体原因可能是少数事情之一。你知道你在使用什么网络服务器吗? (apache / nginx)。

如果apache你应该看看.htaccess文件,如果是nginx你应该查看你的vhosts。在这些内容中,您需要设置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或vhosts,那么您可以直接编辑它们,但很可能您正在使用控制面板,例如cPanel。在大多数此类控制面板中,您可以在Web界面中修改这些值。

答案 5 :(得分:0)

检查您网站的主文件夹中的.htaccess文件(域重定向到的位置),查看# Begin wordpress之前输入的行。

他们可能试图以旧的方式强迫事物,即当您的网站位于子文件夹中时。这些行可能是这样的(也会有其他行,但这些会导致问题):

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

现在,当您为站点配置了顶级域名时,这些行会强制所有请求转到ghost子文件夹,从而导致错误。这也发生在我的情况下,我浪费了一天重新安装整个网站并尝试了几个优化/清理插件只是为了找到.htaccess中的问题并且我的wordpress安装很好。

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

使用#对其进行评论或删除它们,保存.htaccess,然后所有页面都应该正常加载。我从https://stackoverflow.com/a/23631313/4355695得到了这个解决方案。

答案 6 :(得分:0)

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