web-dev-qa-db-ja.com

更新時にWordPressからFTP情報の入力を求められないようにするにはどうすればよいですか。

更新時にWordPressからFTP情報の入力を求められないようにするにはどうすればよいですか。

29
artlung

wp-config.phpファイルを編集する場合は、これらのFTP設定をWordPressによって読み込まれる定数として事前に読み込むことができます。覚えておいてください、共有ホスト上では、あなたは可能なセキュリティの影響に注意する必要があります。 詳細についてはwp-config.php の編集を参照してください。

あなたの設定は変わるでしょう、しかしこれらは私と私のホスティング設定のために働きます。接頭辞として、未使用の定数をいくつか含めました。

define('FS_METHOD', 'direct');
define('FTP_BASE', '/usr/home/username/public_html/my-site.example.com/wordpress/');
define('FTP_CONTENT_DIR', '/usr/home/username/public_html/my-site.example.com/wordpress/wp-content/');
define('FTP_PLUGIN_DIR ', '/usr/home/username/public_html/my-site.example.com/wordpress/wp-content/plugins/');
// define('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub');
// define('FTP_PRIKEY', '/home/username/.ssh/id_rsa');
define('FTP_USER', 'my-ftp-username');
define('FTP_PASS', 'my-ftp-password');
define('FTP_Host', 'ftp.my-site.example.com');
// define('FTP_SSL', false);
23
artlung

ファイルの所有権を確認してください。 Apacheが動作しているユーザーがwordpressディレクトリに書き込める場合、統合アップグレードプロセスはすべてftpなしで動作します。 FTP認証情報は、Webサーバーがファイルに適切な権限を持っていない場合に使用されます。それからwordpressはあなたのFTP詳細の入力を求め、それらを使用して同じサーバーにFTP送信して書き込めるようにします必要なファイル.

12
pixeline

WordPressはディレクトリが書き込み可能であるかどうかをチェックするだけでなく、ApacheユーザOWNS/ディレクトリ)をチェックします(あるいは、少なくともApacheユーザが作成した一時ファイルを所有している場合)。 /wp-admin/includes/file.php:get_filesystem_method()に次のコードがあります。

if ( $temp_handle ) {
    if ( getmyuid() == @fileowner($temp_file_name) )
        $method = 'direct';
    @fclose($temp_handle);
    @unlink($temp_file_name);
}

したがって、簡単な解決策は、このコマンドを発行して、Wordpressインストール全体の所有権をApacheに与えることです。

Sudo chown -R www-data wordpress/

Www-dataはApacheユーザー、そしてもちろんwordpressはあなたのWordPressのインストールフォルダです。

私はここに私の解決策をさらに文書化しました: https://ardeearam.wordpress.com/2013/02/03/solved-wordpress-asking-for-ftp-credentials-when-upgrading/ /

5
Ardee Aram

Centos 7 PHP 7サーバーでWebサイトの読み込み速度を向上させるために、Apache 2.4からEasyApache 4までを微調整するときに、mod_pagespeedを有効にしました。有効にすると、mod_ruid2とmod_cgiを自動的に無効にします(そして他の2つのモジュールを有効にします)。 mod_pagespeedを無効にしても、mod_ruid2は自動的には有効になりません - mod_cgiのみが再度有効になります。 mod_ruid2がないと、WordpressはFTP認証情報を要求します。

Wp-config.phpをハードコードしたりファイルのパーミッションを777に設定したりする必要はありません。手動でmod_ruid2を有効にし、Apacheを再起動するだけでFTP /ファイルパーミッションの問題は解決します。 Wordpressとプラグインは通常通りに更新され、メディアはWordpressギャラリーにアップロードされます。それはすぐにうまくいきます。

MPM PreforkからWorkerに変更すると、mod_ruid2が無効になることを確認しました。 WorkerからPreforkに戻ると、mod_ruid2が有効にならず、この記事で説明している問題が発生します。

どちらの場合も、mod_ruid2を確認して有効にすることが重要です。

助けたことを願っています。

1
itmonitor