回答:
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);
ディレクトリが書き込み可能である場合、WordPressのチェックをしないだけでいるようだが、それはApacheのユーザーがチェックした場合に所有しているディレクトリを(または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/
Centos 7 PHP 7サーバーでWebサイトのロード速度を改善するためにEasyApache4を介してApache 2.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)上記の答えは一般的すぎるため同意できませんでした
1a)私はすべてのファイルの所有権を再帰的に変更したくない(ショットガンを使用して蚊を殺すなど)。特に、これは以前は完全に機能していました。
1b)突然、ftpの資格情報を尋ねる「卑劣な」機能を持つWordpress
2)それで、私はArdee Aramのリードを使ってより深く掘り始めました。file.phpファイルをチェックインして、その所有権を確認しました。file.phpは自身の所有権に依存しているようです(誤ってルートとして設定されています)。
修正:chown www file.php
注:wwwをディストリビューションまたは設定に置き換えます(ps aux | egrep "php | http"を使用すると、最初の列に所有権が表示されます)。
これが他の誰かがこれについて不満を感じるのを助けることを願っています。そもそもwordpressが「文句を言わない」のではなく、FTPの代替手段を使用することを提案する理由すらわかりません。今では、すべてが突然導入される「機能」のようなものです。