답변:
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);
파일 소유권을 확인하십시오. 아파치가 실행되는 사용자가 워드 프레스 디렉토리에 쓸 수있는 경우 통합 업그레이드 프로세스는 모두 ftp없이 작동합니다. FTP 자격 증명은 웹 서버에 파일에 대한 올바른 권한이없는 경우에 사용되며, wordpress는 FTP 세부 정보를 입력하라는 메시지를 표시하고이를 사용하여 동일한 서버로 FTP에 다시 사용하려고 시도합니다. 필요한 파일.
이 디렉토리가 쓰기 가능한 경우 워드 프레스 검사를 수행 할뿐만 보이지만 아파치 사용자가 확인하는 경우 소유 디렉토리를 (또는 아파치 사용자가 임시 파일을 소유하는 경우 적어도,이 생성). /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 서버에서 웹 사이트로드 속도를 향상시키기 위해 EasyApache4를 통해 Apache 2.4를 미세 조정할 때 mod_pagespeed를 활성화했습니다. 활성화하면 mod_ruid2 및 mod_cgi가 자동으로 비활성화됩니다 (그리고 다른 두 모듈도 활성화됩니다). 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) 갑자기 "비밀 한"기능을 가진 Wordpress는 ftp에 대한 자격 증명을 요구합니다.
2) 그래서 Ardee Aram의 리드를 사용하여 더 깊이 파고 들기 시작했습니다. file.php 파일을 확인하고 소유권을 확인했습니다. file.php는 자체 소유권 (루트로 잘못 설정 됨)에 의존하는 것처럼 보입니다.
수정 : chown www file.php
참고 : www를 배포 또는 설정으로 바꾸십시오 (ps aux | egrep "php | http"를 사용하여 첫 번째 열의 소유권을 확인할 수 있습니다).
나는 이것이 다른 누군가가 이것에 대해 좌절하는 데 도움이되기를 바랍니다. 워드 프레스가 왜 처음부터 "불만"을하지 않는지 알지 못하고 FTP 대안을 사용할 것을 제안합니다. 이제는 갑자기 모든 기능이 도입되는 "기능"과 같습니다.