web-dev-qa-db-ja.com

WordPressのルートディレクトリが見つかりません

私はブログのWordPressバージョンをアップグレードしようとしています、そしてそれは失敗します。 FTP情報(ホスト、ユーザー、パス、タイプ)を入力するとメッセージが表示されます。

WordPressのルートディレクトリが見つかりません。

インストールに失敗しました。

このブログは、Windows 2008 Enterprise Host上で実行されています(私の責任であれば、間違いなくLinuxサーバー上でホストされると思います)。私の最初の考えは、パスがE:\home\<Host_username>\Webであるために起こっていることです。

WordPressの管理者からプラグインをインストールまたはアップグレードすることもできません。それはWindowsサーバ上でホストされているために起こりますか?

Wp-config.phpでWP_DEBUGをtrueに設定して、もう一度アップグレードしようとしました。次のメッセージが数回繰り返されました。

PHPに関するお知らせ:未定義の変数:E:¥Home¥<Host_username>¥Web¥wordpress¥wp-admin¥includes¥class-wp-filesystem-ftpext.php内の334行

PHPに関するお知らせ:未定義の変数:E:¥Home¥<Host_username>¥Web¥wordpress¥wp-admin¥includes¥class-wp-filesystem-ftpext.php内の337行

334行目と337行目で何が間違っているのかを確認するために、wp-admin\includes\fileクラスwpファイルシステムftpext.phpを調べました。以下は334行目から337行目までのコードです。

if ( $b['islink'] )
  $b['name'] = preg_replace( '/(\s*->\s*.*)$/', '', $b['name'] );

return &b;

問題のブログはAkismet 2.5.8のみが有効です。 Jetpack 2.3.3はそこにあります、しかしそれはアクティブではありません。これはWP 3.5.2から始まる新しいブログです。だから間違いなくプラグインが問題の原因になってはいけません。

そしてもちろん、私はFTP経由で新しいバージョンのファイルをアップロードするWordPressをアップグレードできることを知っています。私のポイントは、WordPressをアップグレードできず、プラグインを自分の管理者からインストール/アップグレードできないという問題を解決したいということです。

それを修正する方法についての任意のアイデア?

1
tpires

私はそれを修正するための別の方法があると確信しています、しかしあなたはいつでも新鮮なインストールをすることを試みることができます。データベースとテーマファイルは必ずバックアップしてから、新しいインストールにドロップしてください。

最も雄弁な解決策ではありませんが、私が他の方法を考えることができなかったとき、それは過去に私のために働きました。

1
igloude

this functionを試しましたか?

function fs_get_wp_config_path()
{
    $base = dirname(__FILE__);
    $path = false;

    if (@file_exists(dirname(dirname($base))."/wp-config.php"))
    {
        $path = dirname(dirname($base))."/wp-config.php";
    }
    else
    if (@file_exists(dirname(dirname(dirname($base)))."/wp-config.php"))
    {
        $path = dirname(dirname(dirname($base)))."/wp-config.php";
    }
    else
    $path = false;

    if ($path != false)
    {
        $path = str_replace("\\", "/", $path);
    }
    return $path;
}

それから、あなたはこのようなwpルートパスを得ることができます:

<?php echo fs_get_wp_config_path(); ?>
0

WebサイトがPHP 7で実行されている場合は、 SSH SFTP Updater Support をインストールすると問題が解決する可能性があります。このプラグインはPHP 7バグを回避します。

0
Omer Zak