My wordpress server is managed manually through the terminal, no cPanel and such. I’m trying to install plugins through the WordPress plugin “add new” UI button. I get Installation failed: Could not create directory. I did chown -R www-data:www-data {wordpress location} and chmod -R 755 {wordpress location} but I still get the same issue. Even 777 gives me the same error. I did verify that the folder is owned by www-data:www-data. The www-data group contains the www-data user and the wpman user, which is the user defined in wp-config.php as the FTP_USER. I am at my wit’s end – what could possibly be the issue?

When I turn on debugging, I get this massive error message:


Installation failed: The called constructor method for WP_Widget in Ad_Rotator_Widget is deprecated since version 4.3.0! Use __construct() instead. Backtrace from noticeIn /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/functions.php [line 3893]: [line ?] calling process_error() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/functions.php [line 3893] calling trigger_error() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/class-wp-widget.php [line 200] calling _deprecated_constructor() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-content/plugins/ad-rotator/adrotator.php [line 32] calling WP_Widget() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/class-wp-widget-factory.php [line 106] calling Ad_Rotator_Widget() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/widgets.php [line 113] calling register() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-content/plugins/ad-rotator/adrotator.php [line 79] calling register_widget() [line ?] calling register_Ad_Rotator_Widget() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/class-wp-hook.php [line 298] calling call_user_func_array() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/class-wp-hook.php [line 323] calling apply_filters() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/plugin.php [line 453] calling do_action() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-settings.php [line 449] calling do_action() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-config.php [line 94] calling require_once() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-load.php [line 37] calling require_once() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-admin/admin-ajax.php [line 22] calling require_once() Cannot modify header information - headers already sent by (output started at /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-content/mu-plugins/no-white-screen.php:140) Backtrace from warningIn /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-content/plugins/wordfence/lib/wfUtils.php [line 1280]: [line ?] calling process_error() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-content/plugins/wordfence/lib/wfUtils.php [line 1280] calling setcookie() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-content/plugins/wordfence/lib/wordfenceClass.php [line 4692] calling setcookie() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-content/plugins/wordfence/lib/wordfenceClass.php [line 4617] calling setCookie() [line ?] calling initAction() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/class-wp-hook.php [line 298] calling call_user_func_array() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/class-wp-hook.php [line 323] calling apply_filters() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/plugin.php [line 453] calling do_action() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-settings.php [line 449] calling do_action() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-config.php [line 94] calling require_once() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-load.php [line 37] calling require_once() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-admin/admin-ajax.php [line 22] calling require_once() Cannot modify header information - headers already sent by (output started at /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-content/mu-plugins/no-white-screen.php:140) Backtrace from warningIn /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/http.php [line 491]: [line ?] calling process_error() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/http.php [line 491] calling header() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-admin/admin-ajax.php [line 25] calling send_origin_headers() Cannot modify header information - headers already sent by (output started at /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-content/mu-plugins/no-white-screen.php:140) Backtrace from warningIn /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/http.php [line 492]: [line ?] calling process_error() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/http.php [line 492] calling header() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-admin/admin-ajax.php [line 25] calling send_origin_headers() Cannot modify header information - headers already sent by (output started at /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-content/mu-plugins/no-white-screen.php:140) Backtrace from warningIn /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-admin/admin-ajax.php [line 37]: [line ?] calling process_error() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-admin/admin-ajax.php [line 37] calling header() Cannot modify header information - headers already sent by (output started at /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-content/mu-plugins/no-white-screen.php:140) Backtrace from warningIn /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-admin/admin-ajax.php [line 38]: [line ?] calling process_error() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-admin/admin-ajax.php [line 38] calling header() Cannot modify header information - headers already sent by (output started at /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-content/mu-plugins/no-white-screen.php:140) Backtrace from warningIn /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/functions.php [line 4915]: [line ?] calling process_error() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/functions.php [line 4915] calling header() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-admin/admin-ajax.php [line 40] calling send_nosniff_header() Cannot modify header information - headers already sent by (output started at /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-content/mu-plugins/no-white-screen.php:140) Backtrace from warningIn /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/functions.php [line 1144]: [line ?] calling process_error() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/functions.php [line 1144] calling header_remove() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-admin/admin-ajax.php [line 41] calling nocache_headers() Cannot modify header information - headers already sent by (output started at /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-content/mu-plugins/no-white-screen.php:140) Backtrace from warningIn /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/functions.php [line 1157]: [line ?] calling process_error() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/functions.php [line 1157] calling header() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-admin/admin-ajax.php [line 41] calling nocache_headers() Cannot modify header information - headers already sent by (output started at /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-content/mu-plugins/no-white-screen.php:140) Backtrace from warningIn /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/functions.php [line 1157]: [line ?] calling process_error() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/functions.php [line 1157] calling header() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-admin/admin-ajax.php [line 41] calling nocache_headers() Cannot modify header information - headers already sent by (output started at /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-content/mu-plugins/no-white-screen.php:140) Backtrace from warningIn /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/functions.php [line 5020]: [line ?] calling process_error() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/functions.php [line 5020] calling header() [line ?] calling send_frame_options_header() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/class-wp-hook.php [line 296] calling call_user_func_array() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/class-wp-hook.php [line 323] calling apply_filters() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/plugin.php [line 453] calling do_action() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-admin/admin-ajax.php [line 44] calling do_action() Cannot modify header information - headers already sent by (output started at /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-content/mu-plugins/no-white-screen.php:140) Backtrace from warningIn /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/functions.php [line 3157]: [line ?] calling process_error() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/functions.php [line 3157] calling header() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/functions.php [line 3187] calling wp_send_json() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-admin/includes/ajax-actions.php [line 3642] calling wp_send_json_success() [line ?] calling wp_ajax_install_plugin() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/class-wp-hook.php [line 298] calling call_user_func_array() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/class-wp-hook.php [line 323] calling apply_filters() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-includes/plugin.php [line 453] calling do_action() /mnt/volume-nyc1-01/mnt_www/mnt_www/html/wp-admin/admin-ajax.php [line 91] calling do_action() {"success":true,"data":{"install":"plugin","slug":"jetpack","pluginName":"Jetpack by WordPress.com","debug":["Downloading install package from https://downloads.wordpress.org/plugin/jetpack.4.9.zip…","Unpacking the package…","Installing the plugin…","Plugin installed successfully."],"activateUrl":"http://www.heavyblogisheavy.com/wp-admin/plugins.php?_wpnonce=04c27e2798&action=activate&plugin=jetpack/jetpack.php"}}

Read more here: WP UI fails to install plugin even when plugins directory set to 777


Solution:

If you know the solution of this issue, please leave us a reply in Comment section, to update the question.


Wordpress related questions and answers: