Jump to content

Upgrading from 4.7.0 to 4.7.14 fails after extraction


Recommended Posts

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Could contain: Page, Text, Advertisement, Poster

Edited by stuclark
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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. 🤷‍♂️

Link to comment
Share on other sites

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 🤬

Link to comment
Share on other sites

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.
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...