{"id":17541,"date":"2011-02-22T22:55:11","date_gmt":"2011-02-22T17:25:11","guid":{"rendered":"https:\/\/www.quickonlinetips.com\/archives\/?p=17541"},"modified":"2026-10-13T13:39:17","modified_gmt":"2026-10-13T08:09:17","slug":"fix-ftp-connection-information-wordpress-plugin-upgrades","status":"publish","type":"post","link":"https:\/\/www.quickonlinetips.com\/archives\/2011\/02\/fix-ftp-connection-information-wordpress-plugin-upgrades\/","title":{"rendered":"Fix &#8220;FTP Connection Information&#8221; Error on WordPress Updates (2026)"},"content":{"rendered":"<p>Seeing the WordPress FTP connection information screen? Does WordPress ask for &#8220;Connection Information&#8221; with FTP host, username and password every time you update a plugin? We had this exact problem on QuickOnlineTips years ago: every plugin install or WordPress update demanded FTP details, and often timed out even with the right password, so we had to update by hand. The cause was file permissions on our server. Here is how to fix the <strong>FTP connection information<\/strong> error in WordPress in 2026.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-large wp-image-64039\" src=\"https:\/\/www.quickonlinetips.com\/archives\/wp-content\/uploads\/fix-ftp-connection-information-wordpress-1024x538.webp\" alt=\"Fix FTP connection information error in WordPress\" width=\"1024\" height=\"538\" srcset=\"https:\/\/www.quickonlinetips.com\/archives\/wp-content\/uploads\/fix-ftp-connection-information-wordpress-1024x538.webp 1024w, https:\/\/www.quickonlinetips.com\/archives\/wp-content\/uploads\/fix-ftp-connection-information-wordpress-300x158.webp 300w, https:\/\/www.quickonlinetips.com\/archives\/wp-content\/uploads\/fix-ftp-connection-information-wordpress-150x79.webp 150w, https:\/\/www.quickonlinetips.com\/archives\/wp-content\/uploads\/fix-ftp-connection-information-wordpress-768x403.webp 768w, https:\/\/www.quickonlinetips.com\/archives\/wp-content\/uploads\/fix-ftp-connection-information-wordpress.webp 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p><strong>Quick answer:<\/strong> WordPress asks for FTP details when the web server user cannot write to your WordPress files. The proper fix is to make the files owned by the same user PHP runs as (ask your host, or run <code>chown<\/code> on a VPS). If ownership is already correct, add <code>define( 'FS_METHOD', 'direct' );<\/code> to wp-config.php. As a last resort, save your FTP details in wp-config.php so WordPress stops asking.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_89 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6aeb60f0ec16a\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"ez-toc-cssicon\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #1a202c;color:#1a202c\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #1a202c;color:#1a202c\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6aeb60f0ec16a\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.quickonlinetips.com\/archives\/2011\/02\/fix-ftp-connection-information-wordpress-plugin-upgrades\/#Why_WordPress_asks_for_FTP_connection_information\" >Why WordPress asks for FTP connection information<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.quickonlinetips.com\/archives\/2011\/02\/fix-ftp-connection-information-wordpress-plugin-upgrades\/#Fix_1_Correct_file_ownership_best\" >Fix 1: Correct file ownership (best)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.quickonlinetips.com\/archives\/2011\/02\/fix-ftp-connection-information-wordpress-plugin-upgrades\/#Fix_2_Set_FS_METHOD_to_direct\" >Fix 2: Set FS_METHOD to direct<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.quickonlinetips.com\/archives\/2011\/02\/fix-ftp-connection-information-wordpress-plugin-upgrades\/#Fix_3_Save_FTP_details_in_wp-configphp\" >Fix 3: Save FTP details in wp-config.php<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.quickonlinetips.com\/archives\/2011\/02\/fix-ftp-connection-information-wordpress-plugin-upgrades\/#After_the_fix\" >After the fix<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.quickonlinetips.com\/archives\/2011\/02\/fix-ftp-connection-information-wordpress-plugin-upgrades\/#FAQ\" >FAQ<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.quickonlinetips.com\/archives\/2011\/02\/fix-ftp-connection-information-wordpress-plugin-upgrades\/#Is_FS_METHOD_direct_safe\" >Is FS_METHOD direct safe?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.quickonlinetips.com\/archives\/2011\/02\/fix-ftp-connection-information-wordpress-plugin-upgrades\/#Why_does_the_FTP_login_time_out_even_with_the_right_password\" >Why does the FTP login time out even with the right password?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.quickonlinetips.com\/archives\/2011\/02\/fix-ftp-connection-information-wordpress-plugin-upgrades\/#What_permissions_should_WordPress_files_have\" >What permissions should WordPress files have?<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Why_WordPress_asks_for_FTP_connection_information\"><\/span>Why WordPress asks for FTP connection information<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Before updating, WordPress tests whether it can create files in your site folders. If PHP runs as a different user from the one that owns the files (for example, files owned by your account but PHP running as <code>www-data<\/code> or <code>nobody<\/code>), WordPress cannot write directly. It falls back to asking for FTP or SSH login details to make the changes.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Fix_1_Correct_file_ownership_best\"><\/span>Fix 1: Correct file ownership (best)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>On shared hosting, contact support and ask them to make PHP run as your account user (most modern hosts use PHP-FPM or suPHP-style setups that do this). That is what fixed it for us: our host switched the server to run PHP as our account, and one-click updates worked again with no downtime.<\/p>\n<p>On your own VPS, set the owner to the PHP user, for example:<\/p>\n<pre><code>sudo chown -R www-data:www-data \/var\/www\/example.com\nsudo find \/var\/www\/example.com -type d -exec chmod 755 {} \\;\nsudo find \/var\/www\/example.com -type f -exec chmod 644 {} \\;<\/code><\/pre>\n<p>Replace <code>www-data<\/code> with your PHP-FPM pool user and the path with your site folder.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Fix_2_Set_FS_METHOD_to_direct\"><\/span>Fix 2: Set FS_METHOD to direct<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>If ownership is correct but WordPress still asks, open <code>wp-config.php<\/code> and add this line above &#8220;That&#8217;s all, stop editing!&#8221;:<\/p>\n<pre><code>define( 'FS_METHOD', 'direct' );<\/code><\/pre>\n<p>Only use this when PHP really can write to the files, otherwise updates will fail with permission errors.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Fix_3_Save_FTP_details_in_wp-configphp\"><\/span>Fix 3: Save FTP details in wp-config.php<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>If you cannot change ownership, store the details so WordPress uses them automatically:<\/p>\n<pre><code>define( 'FS_METHOD', 'ftpext' );\ndefine( 'FTP_HOST', 'localhost' );\ndefine( 'FTP_USER', 'your-ftp-user' );\ndefine( 'FTP_PASS', 'your-ftp-password' );<\/code><\/pre>\n<p>Plain FTP sends passwords unencrypted, so prefer SFTP or the ownership fix where possible, and keep wp-config.php permissions tight (600 or 640).<\/p>\n<h2><span class=\"ez-toc-section\" id=\"After_the_fix\"><\/span>After the fix<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li>Try updating a small plugin to confirm it works.<\/li>\n<li>Turn on safe <a href=\"https:\/\/www.quickonlinetips.com\/archives\/2020\/05\/auto-update-wordpress-plugins-themes\/\">automatic updates for plugins and themes<\/a>.<\/li>\n<li>If an update gets stuck, see how to fix the <a href=\"https:\/\/www.quickonlinetips.com\/archives\/2011\/04\/fix-wordpress-error-briefly-unavailable-for-scheduled-maintenance\/\">&#8220;Briefly unavailable for scheduled maintenance&#8221; error<\/a>.<\/li>\n<li>Need to change a theme file quickly? Here is how to <a href=\"https:\/\/www.quickonlinetips.com\/archives\/2014\/06\/wordpress-theme-files-without-ftp\/\">edit WordPress theme files without FTP<\/a>.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"FAQ\"><\/span>FAQ<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Is_FS_METHOD_direct_safe\"><\/span>Is FS_METHOD direct safe?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Yes, when files are owned by the PHP user on a server only you use. On shared servers with poor isolation, it can be riskier.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Why_does_the_FTP_login_time_out_even_with_the_right_password\"><\/span>Why does the FTP login time out even with the right password?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Many hosts block plain FTP or require FTPS\/SFTP. Fixing ownership avoids FTP completely.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"What_permissions_should_WordPress_files_have\"><\/span>What permissions should WordPress files have?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Usually 755 for folders and 644 for files, with wp-config.php at 600 or 640.<\/p>\n<p>Did this fix your WordPress update problem? Tell us in the comments.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Seeing the WordPress FTP connection information screen? Does WordPress ask for &#8220;Connection Information&#8221; with FTP host, username and password every&#8230;<\/p>\n","protected":false},"author":4,"featured_media":64039,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[1],"tags":[49,17],"class_list":["post-17541","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tips","tag-tutorials","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/posts\/17541","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/comments?post=17541"}],"version-history":[{"count":3,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/posts\/17541\/revisions"}],"predecessor-version":[{"id":65375,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/posts\/17541\/revisions\/65375"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/media\/64039"}],"wp:attachment":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/media?parent=17541"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/categories?post=17541"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/tags?post=17541"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}