Repository navigation
Laragon 6 on Windows after upgrading to Apache 2.4.69 (VS18) + Redis 8.x + phpMyAdmin 6.0: errors and fixes #1618
rescenic
started this conversation in
Laragon's Articles & How-tos
Replies: 1 comment
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment

Uh oh!
There was an error while loading. Please reload this page.
If you want to upgrade to Apache 2.4.69, PHP 8.5, Redis 8, phpMyAdmin 6.0, here is my tips:

Laragon 6 on Windows after upgrading to Apache 2.4.69 (VS18) + Redis 8.x + phpMyAdmin 6.0: errors and fixes
Environment: Laragon Full 6.0 220916 (installed on
D:\laragon, notC:),httpd-2.4.69-win64-VS18, PHP 8.5.11 (VS17 build, see #10),redis-x64-8.10.2, phpMyAdmin 6.0 (snapshot), Windows 11.Summary
Invalid command 'SSLEngine'(AH00526)ssl_modulecommented out in the newhttpd.confLoadModulelinesInvalid command 'RewriteEngine'rewrite_module/proxy_*modules commented outLoadModulelineserror_log/access_log(underscore)httpd.confopenssl.exe - Entry Point Not Found(SSL_CTX_set1_server_cert_type) when adding the certificateopenssl.exe/libsslDLL mismatchcan't open config file '/cygdrive/c/D:\laragon\...'PATHpoints to old PHP/Apache/Redis/MySQLbin\laragon\laragon.cmdis staleetc\apache2\fcgid.confmentions an old PHPlocalhost/phpmyadmin6doesn't work/phpmyadminand the wrong web rootUnable to write in the cache directory (...\app\cache\twig/21)1 and 2: "Invalid command ... defined by a module not included in the server configuration"
Cause: a new Apache folder ships with a fresh stock
conf/httpd.confin which almost every optional module is commented out. Laragon patches inServerRootand its ownIncludelines (sites-enabled,mod_php.conf, ...) but doesn't carry over modules you enabled in the previous Apache'shttpd.conf. You fix one error and hit the next.Fix: in
...\httpd-2.4.69-win64-VS18\conf\httpd.conf, remove the#from the modules your vhosts use:Add
expires_module/deflate_moduleif your.htaccessfiles use them. TheLoadModulelines must come before thesites-enabledinclude, which is at the end of Laragon's patched file. Back uphttpd.conf, runhttpd -t, then restart Apache.3: "No file!" for
error.log/access.logThe stock 2.4.69 config has
ErrorLog "logs/error_log"andCustomLog "logs/access_log" common. Laragon's menu openslogs\error.logandlogs\access.log. Change them inhttpd.conf:Restart Apache. The files are created in
...\httpd-2.4.69-win64-VS18\logs\.4:
openssl.exe - Entry Point Not Found(SSL_CTX_set1_server_cert_type)It appears when Laragon runs
openssl.exe(Apache → SSL → Add laragon.crt to Trust Store). The same message is reported in leokhoa/laragon#1170 with Apache 2.4.63, where switching Apache version fixed it.Cause (my interpretation, not confirmed by anyone):
SSL_CTX_set1_server_cert_typeexists only in OpenSSL 3.2 and newer, so anopenssl.exenewer than 3.2 is loading an olderlibssl-3-x64.dllthat lacks the function. On my machine, thelibssl-3-x64.dllfiles of Apache 2.4.69 (3.5.8), MySQL (3.5.7) and Git (3.5.7) contain the function, but the one in Apache 2.4.66 (3.0.21) doesn't. Windows resolves DLLs by name, so a mixed or older copy found on thePATHor in the folder can be loaded.What fixed it for me: I copied
openssl.exeand its matchinglibssl-4-x64.dll,libcrypto-4-x64.dll,openssl.cfgandp_ossltest.dllfrom a Scoop OpenSSL install (scoop install openssl, OpenSSL 4.0.3) into the Apachebinfolder. This matches the workaround a user reported in the same discussion (replacingopenssl.exeand DLLs with ones from a regular Windows OpenSSL install).Apache itself still uses its own OpenSSL 3.5.8 (
libssl-3-x64.dll, whichmod_sslloads and which theServer: ... OpenSSL/3.5.8banner shows), while the CLIopenssl.exeis 4.0.3. They use different DLL names, so they don't conflict. Apache Lounge says it stays on OpenSSL 3 for httpd for now (thread). Redo the copy after upgrading Apache if the error returns.5: Redis (6.2.24 / 7.4.11 / 8.10.2) won't start from Laragon
These Redis builds are MSYS2/Cygwin builds (they ship
msys-2.0.dll) and expect the config path in Cygwin style, e.g./cygdrive/d/laragon/...(see the redis-windows README). Laragon does convert the path, but the result/cygdrive/c/D:\...is wrong. My guess is that it assumesC:\laragon, so installs on another drive break (unverified). I found no config or template controlling this;laragon.inihas only[redis] Version=.Manual start works:
Workaround: untick Redis in Preferences → Services & Ports, then add a line to
usr\Procfile(addautorunafterRedis:to start it with Laragon):That opens a Windows Terminal tab. For a plain console instead, use the exe directly with
pwd=D:\laragon\bin\redis\redis-x64-8.10.2. Laragon doesn't stop a process started viawt.6:
bin\laragon\laragon.cmdhas old versionsIt sets
PATHandOPENSSL_CONFfor Laragon's terminal. Mine still listed Apache 2.4.66, PHP 8.5.10, Redis 8.8.0 and MySQL 9.7.0, some of which no longer existed. It isn't used to start services (versions come fromusr\laragon.ini), butphp,redis-cliandmysqlin the terminal could resolve to missing folders. I updated the four version strings by hand. Also check your WindowsPATHfor an old...\httpd-2.4.66-win64-VS17\binentry.7:
etc\apache2\fcgid.confIt pointed to PHP 8.4.5 and 7.4.33 with
C:/laragonpaths and had a typo in<Files ~ "\.php$>">. It isn't included by default (the active file ismod_php.conf), so it only matters if you switch to fcgid. I fixed the paths and the quote by hand.8:
localhost/phpmyadmin6not foundMy
etc\apache2\alias\phpmyadmin6.confhadAlias /phpmyadmin "…/phpMyAdmin-6.0/", the same name as the old phpMyAdmin alias, so/phpmyadmin6didn't exist and/phpmyadminkept opening the old one. phpMyAdmin 6.0 also serves its pages from apublic\subfolder, withapp,src,vendorandconfig.inc.phpnext to it. Fix:9: Twig cache error in phpMyAdmin 6
I had set custom folder icons, and Windows sets the read-only attribute on such folders (needed for their
desktop.ini). PHP'sis_writable()returns false for read-only directories on Windows, so Twig couldn't rewrite a stale cached template. 141 of 142 folders underapp\cachewere read-only. Fix (keeps the icons by using the system attribute):Or simply
attrib -r "…\app\cache\*" /s /d. The same applies to any PHP app that writes into a folder with a custom icon (Laravelstorage, WordPress uploads, ...).10: Laragon warns that the PHP "VS" number differs from Apache
Laragon shows an alert when the VS number in the PHP folder name differs from the Apache folder name (e.g. Apache
...-VS18with PHP...-VS17-x64-TS). The Visual C++ 2015 to 2022 and newer toolsets all use the same runtime (vcruntime140.dll), so a VS17 PHP works with a VS18 Apache, and the alert is only about the name.I avoided the alert by renaming the PHP folder from
php-8.5.11-Win32-VS17-x64-TStophp-8.5.11-Win32-VS18-x64-TS.php -istill reports the real build:Laragon then writes
etc\apache2\mod_php.confwith the renamed path:Notes:
mod_phpneeds the Thread Safe (TS) build..dll) must still match the real build, VS17, not the folder name.All reactions