Invision Community 4: SEO, prepare for v5 and dormant account notifications Matt November 11, 2024Nov 11
Posted January 10, 20241 yr When trying to upgrade from 4.7.0 to 4.7.14 (yes, in one step), the upgrade fails after the file extraction step and displays a blank page when trying to load the "admin/?app=core&module=system&controller=upgrade&check=1" URL. The database and site are still in existence and the admin dashboard still works; but there is a lock applied somewhere which results in the front end displaying an error of "We're sorry, this web site is unavailable while an update is in progress. You can try again by clicking the button below, or try again later. " Trying to restart the upgrade from admin/upgrade displays another blank page after logging in successfully. The only way to bring the site back online I've found is to restore the physical files *AND* complete database, which then releases the upgrade lock and makes the front end available again. However, this obviously reverts the site to 4.7.0
January 10, 20241 yr A blank page is typically a PHP error. Have a look in your servers PHP Error log for any errors that occurred around the time you tried to upgrade
January 10, 20241 yr Author 55 minutes ago, Stuart Silvester said: A blank page is typically a PHP error. Have a look in your servers PHP Error log for any errors that occurred around the time you tried to upgrade Sort of - PHP was erroring, but not becuase of a server setting (apparently) Here's the PHP error in full: Fatal error: Uncaught Error: Call to undefined function IPS\Http\Request\curl_multi_exec() in <PATH_TO_WEBSITE>\system\Http\Request\Curl.php:442 Stack trace: #0 <PATH_TO_WEBSITE>\system\Http\Request\Curl.php(496): IPS\Http\Request\_Curl->_executeMh() #1 <PATH_TO_WEBSITE>\system\Http\Request\Curl.php(321): IPS\Http\Request\_Curl->_executeAndFollowRedirects('POST', Array) #2 <PATH_TO_WEBSITE>\init.php(1116): IPS\Http\Request\_Curl->post(Array) #3 <PATH_TO_WEBSITE>\init.php(1050): IPS\IPS::reportExceptionToIPS(Object(Error)) #4 [internal function]: IPS\IPS::exceptionHandler(Object(Error)) #5 {main} thrown in <PATH_TO_WEBSITE>\system\Http\Request\Curl.php on line 442
January 10, 20241 yr That might just be a side-effect of the actual issue (this is where it's trying to report the exception to us), but check that your server has `curl_multi_exec()` available and that it isn't listed in the `disabled_functions` section of the PHP configuration.
January 10, 20241 yr You might want to make sure this new version of PHP has all the system requirements installed.
January 10, 20241 yr Author I've double checked that cURL is enabled and also modified the above script to check for the curl_multi_exec() function, yet I still get the same error: Fatal error: Uncaught Error: Call to undefined function IPS\Http\Request\curl_multi_exec() in <PATH_TO_WEBSITE>\system\Http\Request\Curl.php:442 Stack trace: #0 <PATH_TO_WEBSITE>\system\Http\Request\Curl.php(496): IPS\Http\Request\_Curl->_executeMh() #1 <PATH_TO_WEBSITE>\system\Http\Request\Curl.php(321): IPS\Http\Request\_Curl->_executeAndFollowRedirects('POST', Array) #2 <PATH_TO_WEBSITE>\init.php(1116): IPS\Http\Request\_Curl->post(Array) #3 <PATH_TO_WEBSITE>\init.php(1050): IPS\IPS::reportExceptionToIPS(Object(Error)) #4 [internal function]: IPS\IPS::exceptionHandler(Object(Error)) #5 {main} thrown in <PATH_TO_WEBSITE>\system\Http\Request\Curl.php on line 442 It should be noted I am running this on Windows2019 using Apache 2.4.58 and PHP 8.2.3 PHP info output for cURL shows: curl cURL support enabled cURL Information 7.85.0 Age 9 Features AsynchDNS Yes CharConv No Debug No GSS-Negotiate No IDN Yes IPv6 Yes krb4 No Largefile Yes libz Yes NTLM Yes NTLMWB No SPNEGO Yes SSL Yes SSPI Yes TLS-SRP No HTTP2 Yes GSSAPI No KERBEROS5 Yes UNIX_SOCKETS Yes PSL No HTTPS_PROXY Yes MULTI_SSL No BROTLI No ALTSVC Yes HTTP3 No UNICODE No ZSTD No HSTS Yes GSASL No Protocols dict, file, ftp, ftps, gopher, gophers, http, https, imap, imaps, ldap, ldaps, mqtt, pop3, pop3s, rtsp, scp, sftp, smb, smbs, smtp, smtps, telnet, tftp Host x86_64-pc-win32 SSL Version OpenSSL/3.0.8 ZLib Version 1.2.12 libSSH Version libssh2/1.10.0 Directive Local Value Master Value curl.cainfo no value no value (updated ips4 script attached showing the function I'm checking for) ips4-new.php Edited January 10, 20241 yr by stuclark
January 10, 20241 yr 3 minutes ago, stuclark said: It should be noted I am running this on Windows2019 using Apache 2.4.58 and PHP 8.2.3 Please downgrade to PHP 8.1. PHP 8.2 is not supported.
January 10, 20241 yr Author 17 minutes ago, Jim M said: Please downgrade to PHP 8.1. PHP 8.2 is not supported. I'm getting exactly the same error on PHP 8.1.27 - exactly the same error message
January 11, 20241 yr Author Does anyone have any further ideas on this issue? My server is saying all PHP pre-requisites are met, yet the same issue exists on PHP8.1 and PHP 8.2
January 11, 20241 yr Either curl_multi_exec() is disabled by the hosting for all PHP versions, or the package was compiled without it(?). In any case, it's something you should check directly with the hosting. I had a client with the same issue before. Their hosting had disabled the function and refused to enable it. They ended up changing hosting as a last resort. 🤷♂️
January 11, 20241 yr Unfortunately, as mentioned, it's a hosting issue there. Its your hosting who are likely to need to resolve this
January 11, 20241 yr Author I eventually found the issue - turns out there's been a difference in the build of PHP on Windows depending upon which version of the VSC runtimes they were built against. One version specifically had multi_exec disabled 🤬
January 12, 20241 yr Hi from Spain. We have that when try to fix some file as recommended Invision: Update in progress We're sorry, this web site is unavailable while an update is in progress. You can try again by clicking the button below, or try again later. Try again Site Owner This message means an upgrade is in progress. If this is not correct, try visiting the upgrade process again (usually /admin/upgrade) and choose either continue or restart. If the upgrade shows nothing to upgrade, visit the AdminCP and run the Support tool. You can also contact Invision Community support for assistance. How can we fix that? Thanks.
January 12, 20241 yr 6 minutes ago, Forea said: Hi from Spain. We have that when try to fix some file as recommended Invision: Update in progress We're sorry, this web site is unavailable while an update is in progress. You can try again by clicking the button below, or try again later. Try again Site Owner This message means an upgrade is in progress. If this is not correct, try visiting the upgrade process again (usually /admin/upgrade) and choose either continue or restart. If the upgrade shows nothing to upgrade, visit the AdminCP and run the Support tool. You can also contact Invision Community support for assistance. How can we fix that? Thanks. Fixed. Sorry and thanks.