In the ExpressionEngine Control Panel, when clicking on the green version number to start the One Click Update process, the system briefly checks for an update before displaying an up-to-date message. However, I am currently running ExpressionEngine 5.2.3 and should be seeing an option to update to version 5.2.4.
When I attempt to perform a manual version check in System Settings under General Settings, the system returns the following error message, “You are using ExpressionEngine 5.2.3. Unable to determine if a newer version is available at this time.”
This is a new installation currently running in the following environment: Apache 2.4.39, PHP 7.3.5, and MySQL 8.0.16 on Windows Server 2016. This would be the first update with this installation. The server passed the ExpressionEngine Server Compatibility Wizard.
I manage a separate ExpressionEngine installation hosted on Linux on MediaTemple. I have no difficulty running the updater there and recently completed a successful update.
I am able to update the server manually, but would prefer to resolve this issue and use the One Click Updater if possible.
I’m wondering if this might be a Windows Firewall related issue, but I have been unable to find information on that topic. Any ideas or suggestions are greatly appreciated.
Tracing the source of the error in the source code (error_getting_version), I noticed that /system/ee/legacy/libraries/El_pings.php writes the version to /system/user/cache/current_version.
Looking at current_version, I found the following:
a:3:{s:4:"time";i:1561566104;s:3:"ttl";i:86400;s:4:"data";s:63:"SSL certificate problem: unable to get local issuer certificate";}
A search for the local issuer certificate issue yielded the following resource: https://cheapsslsecurity.com/blog/ssl-certificate-problem-unable-to-get-local-issuer-certificate/
In short, I did not have a local issuer certificate installed for PHP cURL to utilize. To resolve:
Download the certificate root bundle from the following URL: https://curl.haxx.se/ca/cacert.pem
Copy the certificate root bundle to your server.
Edit php.ini to update the cainfo value by uncommenting the following line and adding the path to the certificate root bundle location above: curl.cainfo = “path_to_cert\cacert.pem”
Save php.ini
Restart PHP
Confirm by viewing php.info in Control Panel Utilities and checking to see that the path to the certificate is present in the value for cainfo.
After installing the local issuer certificate, the version number indicator changed from green to yellow in Control Panel. After clicking on it, it successfully checked for the current version and identified the available update. I was able to launch the Once Click Updater from there.
Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.