Forum Replies Created

Viewing 9 replies - 1 through 9 (of 9 total)
  • Thread Starter srfg

    (@srfg)

    Hi Anthon,

    we are not using any fqdn.
    we’ ve already set the ip-address (Loopback-Adresse) in our configuration, as mentioned earlier:

    define(‘FTP_HOST’,’127.0.0.1:22');
    define(‘FTP_METHOD’,’ssh2');
    define(‘FTP_PUBKEY’,’/xxx/xxx/xxx.xx’);
    define(‘FTP_PRIKEY’,’/xxx/xxx/xxx.xx’);
    define(‘FTP_USER’,’xxxxxxxx’);
    define(‘FTP_PASS’,”);
    define(‘FTP_HOST’,’127.0.0.1:22');

    Well, i did use the ip-address from our host. Didn’t work. Same error as above. Starting with:

    [06-Nov-2024 12:02:42 UTC] Automatic updates starting…
    [06-Nov-2024 12:02:42 UTC] Automatic plugin updates starting…
    [06-Nov-2024 12:02:42 UTC] Upgrading plugin ‘hello-dolly’…
    [06-Nov-2024 12:02:42 UTC] PHP Fatal error: Uncaught TypeError: ssh2_sftp_realpath(): Argument #1 ($sftp) must be of type resource, null given in /var/www/https/mssrv05wp01.salzburgresearch.at/wp/wp-admin/includes/class-wp-filesystem-ssh2.php:304

    Regards
    Günther

    Thread Starter srfg

    (@srfg)

    No worries.
    Removing the Plugin didn’t work.
    #######################
    Plugins installed and active
    Easy Updates Manager
    Fix Another Update In Progress
    Hello Dolly
    Rollback Auto Update
    WP Downgrade | Specific Core Version
    WP Rollback
    #########################

    After removing ?search and replace, i used another one for Testing purposes: “Hello Dolly”.
    Forced Automatic Update with Easy Updates Managers shows (debug log):

    [05-Nov-2024 15:23:44 UTC] Upgrading plugin ‘hello-dolly’…
    [05-Nov-2024 15:23:44 UTC] PHP Fatal error: Uncaught TypeError: ssh2_sftp_realpath(): Argument #1 ($sftp) must be of type resource, null given in /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-filesystem-ssh2.php:304
    Stack trace: 0 /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-filesystem-ssh2.php(304): ssh2_sftp_realpath() 1 /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-filesystem-base.php(261): WP_Filesystem_SSH2->cwd() 2 /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-filesystem-base.php(238): WP_Filesystem_Base->search_for_folder() 3 /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-filesystem-base.php(58): WP_Filesystem_Base->find_folder() 4 /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-upgrader.php(997): WP_Filesystem_Base->abspath() 5 /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-automatic-updater.php(474): WP_Upgrader->maintenance_mode() 6 /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-automatic-updater.php(676): WP_Automatic_Updater->update() 7 /var/www/https/xxx.xxx.xx/wp/wp-includes/update.php(855): WP_Automatic_Updater->run() 8 /var/www/https/xxx.xxx.xx/wp/wp-content/plugins/stops-core-theme-and-plugin-updates/includes/MPSUM_Admin_Ajax.php(1057): wp_maybe_auto_update() 9 /var/www/https/xxx.xxx.xx/wp/wp-content/plugins/stops-core-theme-and-plugin-updates/includes/MPSUM_Admin_Ajax.php(144): MPSUM_Admin_Ajax->force_updates() 10 /var/www/https/xxx.xxx.xx/wp/wp-includes/class-wp-hook.php(324): MPSUM_Admin_Ajax->ajax_handler() 11 /var/www/https/xxx.xxx.xx/wp/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() 12 /var/www/https/xxx.xxx.xx/wp/wp-includes/plugin.php(517): WP_Hook->do_action() 13 /var/www/https/xxx.xxx.xx/wp/wp-admin/admin-ajax.php(192): do_action() 14 {main}thrown in /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-filesystem-ssh2.php on line 304

    Thread Starter srfg

    (@srfg)

    Hi,

    thanks for helping us out. It's very appriciated.

    ++++++++++++++++++++++++++++++++++++++++++++++++


    +++++++++++++++++++++++++++++++++++++++++++++++++

    CURRENT KONFIGURATION

    +++++++++++++++++++++++++++++++++++++++++++++++++

    We are running an sftp-server environment and necessary SFTP Libraries (SFTP PHP8.2 Libraries) to connect over sftp with a dedicated useraccount and Key-Based Authentication:

    ii libssh2-1:amd64 1.10.0-3+b1 amd64 SSH2 client-side library
    ii libssh2-1-dev:amd64 1.10.0-3+b1 amd64 SSH2 client-side library (development headers)
    ii openssh-client 1:9.2p1-2+deb12u3 amd64 secure shell (SSH) client, for secure access to remote machines
    ii openssh-server 1:9.2p1-2+deb12u3 amd64 secure shell (SSH) server, for secure access from remote machines
    ii openssh-sftp-server 1:9.2p1-2+deb12u3 amd64 secure shell (SSH) sftp server module, for SFTP access from remote machines
    ii php-ssh2 1.3.1+0.13-7 amd64 Bindings for the libssh2 library
    ii php8.2-ssh2 1.3.1+0.13-7 amd64 Bindings for the libssh2 library
    ii task-ssh-server 3.73 all SSH server

    We are using a WordPress offered ssh2-Konfiguration and consequently sftp.

    Permissions on the local Filesystem are set in such a way as to enable write permissions for the dedicated update user.

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    SFTP ERRORS:

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    Following error message ist somewhat misleading, because ssh/sftp connection is working.


    PHP Fatal error: Uncaught TypeError: ftp_nlist(): Argument #1 ($ftp) must be of type FTP\Connection, null given in /var/www/https/..at/wp/wp-admin/includes/class-wp-filesystem-ftpext.php:438


    We are using the update function/configuration (SSH2) offered by WordPress successfully.

    Meaning, we can update WordPress, Plugins, Translations, within the WordPress-GUI manually over sftp by pushing the buttons.

    Alternatively wp-cli works wonderfully:

    sudo -u wp-user wp --debug plugin update --all

    So Everything's fine up to a certain point.

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    AUTOMATIC UPDATE

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    Our "ssh2"-configuration with automatic updates worked until WordPress-version 6.5.5. (tested)

    My Impression is, from Version 6.6 on, mentioned Wordpess Automatic-Update-Function seems to be broken. (tested)
    But that's me.

    Mentioned SSH2-Configuration:

    define(‘FTP_METHOD’,’ssh2');
    define(‘FTP_PUBKEY’,’/xxx/xxx/xxx.xx’);
    define(‘FTP_PRIKEY’,’/xxx/xxx/xxx.xx’);
    define(‘FTP_USER’,’xxxxxxxx’);
    define(‘FTP_PASS’,”);
    define(‘FTP_HOST’,’127.0.0.1:22');

    My guess was, I have to tell WordPress which Method to use when accessing the local Filesystem:

    define('FS_METHOD', 'ssh2');

    which is acknowledged with the following error:

    [22-Oct-2024 16:11:52 UTC] Automatic updates starting…
    [22-Oct-2024 16:11:52 UTC] Automatic plugin updates starting…
    [22-Oct-2024 16:11:52 UTC] Upgrading plugin 'maintenance'…
    [22-Oct-2024 16:11:52 UTC] PHP Fatal error: Uncaught TypeError: ssh2_sftp_realpath(): Argument #1 ($sftp) must be of type resource, null given in /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-filesystem-ssh2.php:304
    Stack trace: 0 /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-filesystem-ssh2.php(304): ssh2_sftp_realpath() 1 /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-filesystem-base.php(261): WP_Filesystem_SSH2->cwd() 2 /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-filesystem-base.php(238): WP_Filesystem_Base->search_for_folder() 3 /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-filesystem-base.php(58): WP_Filesystem_Base->find_folder() 4 /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-upgrader.php(997): WP_Filesystem_Base->abspath() 5 /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-automatic-updater.php(474): WP_Upgrader->maintenance_mode() 6 /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-automatic-updater.php(676): WP_Automatic_Updater->update() 7 /var/www/https/xxx.xxx.xx/wp/wp-includes/update.php(855): WP_Automatic_Updater->run() 8 /var/www/https/xxx.xxx.xx/wp/wp-content/plugins/stops-core-theme-and-plugin-updates/includes/MPSUM_Admin_Ajax.php(1057): wp_maybe_auto_update() 9 /var/www/https/xxx.xxx.xx/wp/wp-content/plugins/stops-core-theme-and-plugin-updates/includes/MPSUM_Admin_Ajax.php(144): MPSUM_Admin_Ajax->force_updates() 10 /var/www/https/xxx.xxx.xx/wp/wp-includes/class-wp-hook.php(324): MPSUM_Admin_Ajax->ajax_handler() 11 /var/www/https/xxx.xxx.xx/wp/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() 12 /var/www/https/xxx.xxx.xx/wp/wp-includes/plugin.php(517): WP_Hook->do_action() 13 /var/www/https/xxx.xxx.xx/wp/wp-admin/admin-ajax.php(192): do_action() 14 {main}

    thrown in /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-filesystem-ssh2.php on line 304

    Going a step further and specifying the local path of the WordPressinstallation doesn't help either, or seem's to be ignored:

    define('FTP_BASE', '/var/www/https/xxx.xxx.xx/wp');
    define( 'FTP_CONTENT_DIR', '/var/www/https/xxx.xxx.xx/wp/wp-content' );
    define( 'FTP_PLUGIN_DIR ', '/var/www/https/xxx.xxx.xx/wp/wp-content/plugins' );

    By the way, define('fs_method' 'direct') works. But the apache-user has to have write permissions in the file-system. Something we want to avoid as much as possible.

    What we know:

    Manually triggered Updates (GUI OR WP-CLI) are working (SSH2,SFTP)

    Automatically triggered Updates do not work (same configuration)

    If WordPress is rolled back to 6.5.5 everything's fine.
    Thread Starter srfg

    (@srfg)

    Hi,

    thanks for helping us out. It's very appriciated.

    ++++++++++++++++++++++++++++++++++++++++++++++++
    FTP:

    FTP and FTPS will not work at the moment.

    attempt to use ftp_ssl_connect…
    attempt to use ftp_connect…
    Failed to connect to FTP Server mssrv05.salzburgresearch.at:22

    +++++++++++++++++++++++++++++++++++++++++++++++++

    CURRENT KONFIGURATION

    +++++++++++++++++++++++++++++++++++++++++++++++++

    We are running an sftp-server environment and necessary SFTP Libraries (SFTP PHP8.2 Libraries) to connect over sftp with a dedicated useraccount and Key-Based Authentication:

    ii libssh2-1:amd64 1.10.0-3+b1 amd64 SSH2 client-side library
    ii libssh2-1-dev:amd64 1.10.0-3+b1 amd64 SSH2 client-side library (development headers)
    ii openssh-client 1:9.2p1-2+deb12u3 amd64 secure shell (SSH) client, for secure access to remote machines
    ii openssh-server 1:9.2p1-2+deb12u3 amd64 secure shell (SSH) server, for secure access from remote machines
    ii openssh-sftp-server 1:9.2p1-2+deb12u3 amd64 secure shell (SSH) sftp server module, for SFTP access from remote machines
    ii php-ssh2 1.3.1+0.13-7 amd64 Bindings for the libssh2 library
    ii php8.2-ssh2 1.3.1+0.13-7 amd64 Bindings for the libssh2 library
    ii task-ssh-server 3.73 all SSH server

    We are using a WordPress offered ssh2-Konfiguration and consequently sftp.

    Permissions on the local Filesystem are set in such a way as to enable write permissions for the dedicated update user.

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    SFTP ERRORS:

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    The error message ist somewhat misleading.

    Until recently we used the update function (SSH2) offered by WordPress successfully.

    Meaning, we can update WordPress, Plugins, Translations, within the WordPress-GUI manually over sftp by pushing the buttons.

    Alternatively wp-cli works wonderfully:

    sudo -u wp-user wp --debug plugin update --all

    So Everything's fine up to a certain point.

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    AUTOMATIC UPDATE

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    Our "ssh2"-configuration worked until WordPress-version 6.5.5. (tested)

    My Impression is, from Version 6.6 on, mentioned Wordpess Automatic-Update-Function seems to be broken. (tested)
    But that's me.

    Mentioned SSH2-Configuration:

    define(‘FTP_METHOD’,’ssh2');
    define(‘FTP_PUBKEY’,’/xxx/xxx/xxx.xx’);
    define(‘FTP_PRIKEY’,’/xxx/xxx/xxx.xx’);
    define(‘FTP_USER’,’xxxxxxxx’);
    define(‘FTP_PASS’,”);
    define(‘FTP_HOST’,’127.0.0.1:22');

    My guess was, I have to tell WordPress which Method to use when accessing the local Filesystem:

    define('FS_METHOD', 'ssh2');

    which is acknowledged with the following error:

    [22-Oct-2024 16:11:52 UTC] Automatic updates starting…
    [22-Oct-2024 16:11:52 UTC] Automatic plugin updates starting…
    [22-Oct-2024 16:11:52 UTC] Upgrading plugin 'maintenance'…
    [22-Oct-2024 16:11:52 UTC] PHP Fatal error: Uncaught TypeError: ssh2_sftp_realpath(): Argument #1 ($sftp) must be of type resource, null given in /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-filesystem-ssh2.php:304
    Stack trace: 0 /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-filesystem-ssh2.php(304): ssh2_sftp_realpath() 1 /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-filesystem-base.php(261): WP_Filesystem_SSH2->cwd() 2 /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-filesystem-base.php(238): WP_Filesystem_Base->search_for_folder() 3 /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-filesystem-base.php(58): WP_Filesystem_Base->find_folder() 4 /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-upgrader.php(997): WP_Filesystem_Base->abspath() 5 /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-automatic-updater.php(474): WP_Upgrader->maintenance_mode() 6 /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-automatic-updater.php(676): WP_Automatic_Updater->update() 7 /var/www/https/xxx.xxx.xx/wp/wp-includes/update.php(855): WP_Automatic_Updater->run() 8 /var/www/https/xxx.xxx.xx/wp/wp-content/plugins/stops-core-theme-and-plugin-updates/includes/MPSUM_Admin_Ajax.php(1057): wp_maybe_auto_update() 9 /var/www/https/xxx.xxx.xx/wp/wp-content/plugins/stops-core-theme-and-plugin-updates/includes/MPSUM_Admin_Ajax.php(144): MPSUM_Admin_Ajax->force_updates() 10 /var/www/https/xxx.xxx.xx/wp/wp-includes/class-wp-hook.php(324): MPSUM_Admin_Ajax->ajax_handler() 11 /var/www/https/xxx.xxx.xx/wp/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() 12 /var/www/https/xxx.xxx.xx/wp/wp-includes/plugin.php(517): WP_Hook->do_action() 13 /var/www/https/xxx.xxx.xx/wp/wp-admin/admin-ajax.php(192): do_action() 14 {main}

    thrown in /var/www/https/xxx.xxx.xx/wp/wp-admin/includes/class-wp-filesystem-ssh2.php on line 304

    Going a step further and specifying the local path of the WordPressinstallation doesn't help either, or seem's to be ignored:

    define('FTP_BASE', '/var/www/https/xxx.xxx.xx/wp');
    define( 'FTP_CONTENT_DIR', '/var/www/https/xxx.xxx.xx/wp/wp-content' );
    define( 'FTP_PLUGIN_DIR ', '/var/www/https/xxx.xxx.xx/wp/wp-content/plugins' );

    What we know:

    Manually triggered Updates (GUI OR WP-CLI) are working (SSH2,SFTP)

    Automatically triggered Updates do not work (same Konfiguration)

    If WordPress is rolled back to 6.5.5 everything's fine.
    Thread Starter srfg

    (@srfg)

    It didn’t work either.

    Thread Starter srfg

    (@srfg)

    Hello,
    there are no debug.log entries and no entries in the hosting error log after deactivating Easy Update Manager.

    Thread Starter srfg

    (@srfg)

    I have posted a configuration in the original post but ftpext does not appear there. We still want to use the FTP method via SSH2 (define(‘FTP_METHOD’,’ssh2′);).

    When I manually initiate the update for a plugin, everything works. Only the Easy Update Manager does not work.

    Thread Starter srfg

    (@srfg)

    Then it works, but this type of connection requires more permissions. The Apache/PHP user should not have so many permissions on the server. We would like to continue using the SSH connection because of the better security.

    We have tried it with the setting define(‘FS_METHOD’, ‘ssh2’); but even then we get error messages.

    I can specify the version number from which it no longer works: It is WordPress 6.6 (and all later versions).

    Thread Starter srfg

    (@srfg)

    Version 1.1.9 is working fine. Only version 1.2.0 is affected.

Viewing 9 replies - 1 through 9 (of 9 total)