When running the One Click Update on a new installation of ExpressionEngine 5.2.3, the update fails with the following messages:
We stopped on Updating files.
Log file path not writable:[Server path]\system/user/cache/ee_update
The error message also provided the stack trace below. The full server path has been replaced with [Server path].
#0 [Server path]\system\ee\updater\EllisLab\ExpressionEngine\Updater\Service\Updater\Runner.php(351): EllisLab\ExpressionEngine\Updater\Service\Logger\File->__construct(‘[Server path]…’, Object(EllisLab\ExpressionEngine\Updater\Library\Filesystem\Filesystem), false)
#1 [Server path]\system\ee\updater\EllisLab\ExpressionEngine\Updater\Service\Updater\Runner.php(37): EllisLab\ExpressionEngine\Updater\Service\Updater\Runner->makeLoggerService()
#2 [Server path]\system\ee\updater\EllisLab\ExpressionEngine\Updater\Controller\Updater\Updater.php(34): EllisLab\ExpressionEngine\Updater\Service\Updater\Runner->__construct()
#3 [Server path]\system\ee\updater\boot.php(94): EllisLab\ExpressionEngine\Updater\Controller\Updater\Updater->run()
#4 [Server path]\system\ee\updater\boot.php(65): routeRequest(‘updater’, ‘updater’, ‘run’)
#5 [Server path]\hq.php(143): require_once(‘[Server path]…’)
The following log information is generated in the file \system\user\cache\ee_update\update:
[00:18:45 -0500] Maximum execution time: 0
[00:18:45 -0500] Memory limit: 256M
[00:18:45 -0500] Checking file permissions needed to complete the update
[00:18:45 -0500] Cleaning up upgrade working directory
[00:18:45 -0500] Old zip archives found, deleting
[00:18:45 -0500] Old extracted archives found, deleting
[00:18:46 -0500] Checking free disk space
[00:18:46 -0500] Free disk space (bytes): 38158372864
[00:18:47 -0500] Downloading update package
[00:18:55 -0500] Unzipping package
[00:19:03 -0500] Package unzipped
[00:19:03 -0500] Verifying integrity of unzipped package
[00:19:04 -0500] Package contents successfully verified
[00:19:04 -0500] Checking server requirements of new ExpressionEngine version
[00:19:04 -0500] Server requirements check passed with flying colors
[00:19:04 -0500] Moving the updater micro app into place
[00:19:04 -0500] Taking the site offline
ExpressionEngine is installed on a server running Windows Server 2016 with Apache 2.4, PHP 7 and MySQL 8. The system is installed and appears to be working normally except for this update error. This is a new installation, and I have not been able to previously run the updater successfully.
I can confirm that ExpressionEngine is able to write to the \system\user\cache directory in two ways:
The updater is able to create the ee_update directory within the cache directory and successfully download and write the following directories and files:
- ExpressionEngine (dir)
Also, I am able to run and successfully complete the Database Backup Utility from the Control Panel, which results in a SQL text file written to \system\user\cache.
While the error code clearly points to a permissions issue, my understanding is that default installations of Apache on Windows Server run under the System account, which has full permissions to the \system\user\cache directory.
I confirmed that PHP is running as the System account by running the following statement:
<?php echo exec('whoami'); ?>
I wondered if differences in the use of \ and / to separate file paths in UNIX and Windows might be an issue, but I am able to navigate to the [Server path]\system/user/cache/ee_update directory given by the update error message from the command line.
Any ideas for troubleshooting or a fix for this issue? Any guidance would be a huge help! Thank you!