从宝塔迁移到1P的教程有很多了,这里记录下我遇到的问题及解决方法,希望对遇到同样问题的有所帮助。

1.遇到此站点遇到了致命错误

我们回到网站根目录,找到wp-config.php文件打开,找到define( ‘WP_DEBUG’, false );这一行,将默认的false修改成true。这一步是在后台输出错误日志,方便对症修改。

修改保存后,我们回到网站后台查看输入的错误日志。在日志里我们可以看到造成致命错误的原因是缓存插件生成的object-cache.php文件,我们只需要根据日志找到wp-content/目录下的该文件删除即可。

注意,在成功进入后台仪表盘后上方可能出现PHP报错,这时我们只需要回到wp-config.php文件将true修改回false即可。

2.Redis Object Cache无法访问

如果你是Memcached也可以参考下面的内容。打开Redis Object Cache发现无法访问Redis,原因是1P是docker容器,我们需要手动修改配置文件。

首先找到Redis Object Cache插件目录,找到/redis-cache/includes/object-cache.php文件。点击编辑,将Redis配置信息修改,大约在620行左右

这是默认:

 protected function build_parameters() {
        $parameters = [
            'scheme' => 'tcp',
            'host' => '127.0.0.1',
            'port' => 6379,
            'database' => 0,
            'timeout' => 1,
            'read_timeout' => 1,
            'retry_interval' => null,
            'persistent' => false,

修改后:

protected function build_parameters() {
        $parameters = [
            'scheme' => 'tcp',
            'host' => 'redis',/**Redis地址*/
            'port' => 6379,/**Redis端口*/
            'password' => 'cfccc,/**Redis密码*/
            'database' => 0,
            'timeout' => 1,
            'read_timeout' => 1,
            'retry_interval' => null,
            'persistent' => false,

保存确认后我们回到根目录的wp-config.php文件。在define( ‘DB_COLLATE’, ” ); 后面添加如下内容:

大约在38行左右。如果你的Redis没有密码,记得注释或者删除define( ‘WP_REDIS_PASSWORD’, ‘Redis密码’ );

/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

/** Redis Object Cache */
define( 'WP_REDIS_HOST', 'redis' );
define( 'WP_REDIS_PORT', 6379 );
define( 'WP_REDIS_PASSWORD', 'Redis密码' );
define( 'WP_REDIS_TIMEOUT', 1 );

然后回到Redis Object Cache,会看到已经可以成功链接了,点击启用对象缓存即可。

如果你发现文件系统无法访问,在1P后台关闭网站防篡改即可。