- Issue created by @lazzyvn
- Status changed to Postponed: needs info
8 months ago 10:26am 7 August 2024 WAMP has usually been troublesome with Drupal which is why most of the community switched to Lando or DDEV.
What is the specific WAMP configuration needed to reproduce this? Are max_allowed_packet and other requirements values set up?
- ๐ซ๐ทFrance lazzyvn paris
I use wamp because it is very easy to switch php/mysql version. It practices managing 30 mixed projects drupal 7, 9, 10, opencart, prestashop, wp...
Wamp is created by French Dev, so it is very easy to install and use without special configuration. After installation, we just need to create vhost and restart DNSmax_allowed_packet = 64M but you can change to 1G
64M should be large enough. Perhaps max_allowed_packet isnโt the problem. Did mysql log an error?
A related consideration is that Drupal has no automated testing on Windows ๐ฑ [policy, no patch] Drop support for Windows in production in Drupal 11 Active .
- ๐ธ๐ชSweden carolalind Nybro
I get the same error here when trying to install drupal 11 on WAMP. (php 8.3.9, mariadb 10.6.15, apache 2.4.62).
I really do hope not that it won't be possible to use WAMP for d11...
- ๐ฎ๐ฑIsrael ntigh52
wamp:
apache 2.4.54.2
mysql 8.0.31
php 8.3.11same issue
http://localhost/local/install-dir/web/core/install.php
ERR_CONNECTION_RESETAn AJAX HTTP request terminated abnormally. Debugging information follows. Path: /local/install-dir/web/core/install.php?rewrite=ok&langcode=en&profile=demo_umami&id=1&op=do_nojs&op=do StatusText: error ReadyState: 0
Drupal\Core\Config\UnmetDependenciesException: Configuration objects provided by <em class="placeholder">demo_umami</em> have unmet dependencies: <em class="placeholder">block.block.umami_account_menu (block), block.block.umami_help (help, block), block.block.umami_languageswitcher (language, block), block.block.umami_search (search, block), block.block.umami_views_block__articles_aside_block_1 (node, views, block), block.block.umami_views_block__promoted_items_block_1 (views, block), block_content.type.banner_block (block_content), contact.form.feedback (contact), core.entity_form_display.block_content.banner_block.default (link, media_library), core.entity_form_display.block_content.basic.default (text), core.entity_form_display.media.audio.default (file, path), core.entity_form_display.media.audio.media_library (core.entity_form_mode.media.media_library), core.entity_form_display.media.image.default (image.style.thumbnail, image, path), core.entity_form_display.media.image.media_library (core.entity_form_mode.media.media_library, image.style.thumbnail, image), core.entity_form_display.media.remote_video.default (media, path), core.entity_form_display.node.article.default (content_moderation, media_library, path, text), core.entity_form_display.node.page.default (content_moderation, path, text), core.entity_form_display.user.user.default (image.style.thumbnail, image), core.entity_view_display.block_content.banner_block.default (link), core.entity_view_display.media.audio.default (file), core.entity_view_display.media.audio.media_library (core.entity_view_mode.media.media_library, image.style.thumbnail, image), core.entity_view_display.media.image.default (responsive_image), core.entity_view_display.media.image.media_library (core.entity_view_mode.media.media_library, image.style.medium, image), core.entity_view_display.media.image.medium_8_7 (image, layout_builder), core.entity_view_display.media.image.responsive_3x2 (layout_builder, responsive_image), core.entity_view_display.media.remote_video.default (media), core.entity_view_display.node.article.default (layout_builder, text), core.entity_view_display.node.article.full (core.entity_view_mode.node.full, layout_builder, layout_discovery, text), core.entity_view_display.node.article.rss (core.entity_view_mode.node.rss), core.entity_view_display.node.article.teaser (core.entity_view_mode.node.teaser, text), core.entity_view_display.node.recipe.card (options), core.entity_view_display.node.recipe.default (options, text), core.entity_view_display.node.recipe.full (core.entity_view_mode.node.full, layout_builder, layout_discovery, options, text, views), core.entity_view_display.node.recipe.teaser (core.entity_view_mode.node.teaser), core.entity_view_mode.node.card (node), editor.editor.basic_html (ckeditor5, editor), field.field.block_content.banner_block.field_content_link (link, field), field.field.block_content.banner_block.field_media_image (field), field.field.block_content.basic.body (field.storage.block_content.body, text, field), field.field.block_content.disclaimer_block.field_copyright (text, field), field.field.media.audio.field_media_audio_file (file, field), field.field.media.document.field_media_document (file, media, field), field.field.media.image.field_media_image (image, media, field), field.field.node.article.body (field.storage.node.body, text, field), field.field.node.article.layout_builder__layout (layout_builder, field), field.field.node.recipe.field_difficulty (options, field), field.field.user.user.user_picture (image, field), field.storage.block_content.field_content_link (block_content, link, field), field.storage.block_content.field_copyright (block_content, text, field), field.storage.block_content.field_media_image (block_content, media, field), field.storage.block_content.field_summary (block_content, field), field.storage.media.field_media_document (file, media, media, field), field.storage.media.field_media_image (file, image, media, media, field), field.storage.media.field_media_oembed_video (media, field), field.storage.node.field_cooking_time (node, field), field.storage.node.field_difficulty (node, options, field), field.storage.node.field_media_image (media, node, field), field.storage.node.field_recipe_category (node, taxonomy, field), field.storage.node.field_recipe_instruction (node, text, field), field.storage.node.layout_builder__layout (layout_builder, node, field), field.storage.user.user_picture (file, image, field), filter.format.basic_html (editor, media, filter), filter.format.restricted_html (filter), image.style.large_21_9 (image), language.content_settings.block_content.banner_block (content_translation, language), language.entity.es (language), node.type.recipe (menu_ui, node), taxonomy.vocabulary.recipe_category (taxonomy), user.role.anonymous (contact, filter, media, search), user.role.authenticated (contact, filter, media, search, shortcut), user.role.author (content_moderation, contextual, file, layout_builder, node, path, taxonomy, toolbar), user.role.editor (content_moderation, content_translation, contextual, file, layout_builder, node, path, shortcut, taxonomy, toolbar), views.view.articles_aside (node, views), views.view.frontpage (core.entity_view_mode.node.rss, node, views), views.view.recipe_collections (taxonomy, views), views.view.taxonomy_term (node, taxonomy, views), workflows.workflow.editorial (content_moderation, workflows)</em> in Drupal\Core\Config\UnmetDependenciesException::create() (line 100 of core\lib\Drupal\Core\Config\UnmetDependenciesException.php).
Drupal\Core\Config\UnmetDependenciesException::create('demo_umami', Array) (Line: 527) Drupal\Core\Config\ConfigInstaller->checkConfigurationToInstall('module', 'demo_umami') (Line: 132) Drupal\Core\ProxyClass\Config\ConfigInstaller->checkConfigurationToInstall('module', 'demo_umami') (Line: 199) Drupal\Core\Extension\ModuleInstaller->install(Array, ) (Line: 83) Drupal\Core\ProxyClass\Extension\ModuleInstaller->install(Array, ) (Line: 1668) install_install_profile(Array) (Line: 695) install_run_task(Array, Array) (Line: 572) install_run_tasks(Array, NULL) (Line: 121) install_drupal(Object) (Line: 48)
php.ini
[18-Sep-2024 11:52:33 UTC] PHP Deprecated: Unknown: assert.active INI setting is deprecated in Unknown on line 1629513076 [18-Sep-2024 11:52:35 UTC] Drupal\Core\Config\UnmetDependenciesException: Configuration objects provided by <em class="placeholder">demo_umami</em> have unmet dependencies: <em class="placeholder">block.block.umami_account_menu (block), block.block.umami_help (help, block), block.block.umami_languageswitcher (language, block), block.block.umami_search (search, block), block.block.umami_views_block__articles_aside_block_1 (node, views, block), block.block.umami_views_block__promoted_items_block_1 (views, block), block_content.type.banner_block (block_content), contact.form.feedback (contact), core.entity_form_display.block_content.banner_block.default (link, media_library), core.entity_form_display.block_content.basic.default (text), core.entity_form_display.media.audio.default (file, path), core.entity_form_display.media.audio.media_library (core.entity_form_mode.media.media_library), core.entity_form_display.media.image.default (image.style.thumbnail, image, path), core.entity_form_display.media.image.media_library (core.entity_form_mode.media.media_library, image.style.thumbnail, image), core.entity_form_display.media.remote_video.default (media, path), core.entity_form_display.node.article.default (content_moderation, media_library, path, text), core.entity_form_display.node.page.default (content_moderation, path, text), core.entity_form_display.user.user.default (image.style.thumbnail, image), core.entity_view_display.block_content.banner_block.default (link), core.entity_view_display.media.audio.default (file), core.entity_view_display.media.audio.media_library (core.entity_view_mode.media.media_library, image.style.thumbnail, image), core.entity_view_display.media.image.default (responsive_image), core.entity_view_display.media.image.media_library (core.entity_view_mode.media.media_library, image.style.medium, image), core.entity_view_display.media.image.medium_8_7 (image, layout_builder), core.entity_view_display.media.image.responsive_3x2 (layout_builder, responsive_image), core.entity_view_display.media.remote_video.default (media), core.entity_view_display.node.article.default (layout_builder, text), core.entity_view_display.node.article.full (core.entity_view_mode.node.full, layout_builder, layout_discovery, text), core.entity_view_display.node.article.rss (core.entity_view_mode.node.rss), core.entity_view_display.node.article.teaser (core.entity_view_mode.node.teaser, text), core.entity_view_display.node.recipe.card (options), core.entity_view_display.node.recipe.default (options, text), core.entity_view_display.node.recipe.full (core.entity_view_mode.node.full, layout_builder, layout_discovery, options, text, views), core.entity_view_display.node.recipe.teaser (core.entity_view_mode.node.teaser), core.entity_view_mode.node.card (node), editor.editor.basic_html (ckeditor5, editor), field.field.block_content.banner_block.field_content_link (link, field), field.field.block_content.banner_block.field_media_image (field), field.field.block_content.basic.body (field.storage.block_content.body, text, field), field.field.block_content.disclaimer_block.field_copyright (text, field), field.field.media.audio.field_media_audio_file (file, field), field.field.media.document.field_media_document (file, media, field), field.field.media.image.field_media_image (image, media, field), field.field.node.article.body (field.storage.node.body, text, field), field.field.node.article.layout_builder__layout (layout_builder, field), field.field.node.recipe.field_difficulty (options, field), field.field.user.user.user_picture (image, field), field.storage.block_content.field_content_link (block_content, link, field), field.storage.block_content.field_copyright (block_content, text, field), field.storage.block_content.field_media_image (block_content, media, field), field.storage.block_content.field_summary (block_content, field), field.storage.media.field_media_document (file, media, media, field), field.storage.media.field_media_image (file, image, media, media, field), field.storage.media.field_media_oembed_video (media, field), field.storage.node.field_cooking_time (node, field), field.storage.node.field_difficulty (node, options, field), field.storage.node.field_media_image (media, node, field), field.storage.node.field_recipe_category (node, taxonomy, field), field.storage.node.field_recipe_instruction (node, text, field), field.storage.node.layout_builder__layout (layout_builder, node, field), field.storage.user.user_picture (file, image, field), filter.format.basic_html (editor, media, filter), filter.format.restricted_html (filter), image.style.large_21_9 (image), language.content_settings.block_content.banner_block (content_translation, language), language.entity.es (language), node.type.recipe (menu_ui, node), taxonomy.vocabulary.recipe_category (taxonomy), user.role.anonymous (contact, filter, media, search), user.role.authenticated (contact, filter, media, search, shortcut), user.role.author (content_moderation, contextual, file, layout_builder, node, path, taxonomy, toolbar), user.role.editor (content_moderation, content_translation, contextual, file, layout_builder, node, path, shortcut, taxonomy, toolbar), views.view.articles_aside (node, views), views.view.frontpage (core.entity_view_mode.node.rss, node, views), views.view.recipe_collections (taxonomy, views), views.view.taxonomy_term (node, taxonomy, views), workflows.workflow.editorial (content_moderation, workflows)</em> in C:\wamp64\www\local\install-dir\web\core\lib\Drupal\Core\Config\UnmetDependenciesException.php on line 100 #0 C:\wamp64\www\local\install-dir\web\core\lib\Drupal\Core\Config\ConfigInstaller.php(527): Drupal\Core\Config\UnmetDependenciesException::create('demo_umami', Array) #1 C:\wamp64\www\local\install-dir\web\core\lib\Drupal\Core\ProxyClass\Config\ConfigInstaller.php(132): Drupal\Core\Config\ConfigInstaller->checkConfigurationToInstall('module', 'demo_umami') #2 C:\wamp64\www\local\install-dir\web\core\lib\Drupal\Core\Extension\ModuleInstaller.php(199): Drupal\Core\ProxyClass\Config\ConfigInstaller->checkConfigurationToInstall('module', 'demo_umami') #3 C:\wamp64\www\local\install-dir\web\core\lib\Drupal\Core\ProxyClass\Extension\ModuleInstaller.php(83): Drupal\Core\Extension\ModuleInstaller->install(Array, false) #4 C:\wamp64\www\local\install-dir\web\core\includes\install.core.inc(1668): Drupal\Core\ProxyClass\Extension\ModuleInstaller->install(Array, false) #5 C:\wamp64\www\local\install-dir\web\core\includes\install.core.inc(695): install_install_profile(Array) #6 C:\wamp64\www\local\install-dir\web\core\includes\install.core.inc(572): install_run_task(Array, Array) #7 C:\wamp64\www\local\install-dir\web\core\includes\install.core.inc(121): install_run_tasks(Array, NULL) #8 C:\wamp64\www\local\install-dir\web\core\install.php(48): install_drupal(Object(Composer\Autoload\ClassLoader)) #9 {main}
Prove you set
max_allowed_packet
on the database server high enough per Drupal's requirements. And do yourself a favor and use DDEV, which is a modern system that is set up to run Drupal.- ๐จ๐ณChina zhiqiang.qiu
same issue with mamp pro 5.0.6 + windows 10 + php 8.3.1 + mysql 8.0.38, can't finish install, can't explore drupal 11,
This is urgent for many people in similar situations
These errors seem like the platform isnโt set up for Drupalโs requirements. As far as I know very, very few developers of Drupal itself use MAMP or WAMP in 2024. So those that do must analyze these tools on a technical level.
- ๐จ๐ณChina zhiqiang.qiu
I use mamp (change mysql 5 port to 3307 and disable) + install mysql 8 separately, so it should meet the installation requirements of drupal 11. These errors seem more like instability or bugs in the drupal 11 ajax system. I'm not sure, because when I encounter these errors, I refresh the page and try to upload again, it succeeds. It's very strange.
Is mysql 8 set up for Drupal? These errors sound like the
max_allowed_packet
being set too low or similar. People have complained about this issue over time but in some cases we have not been given definitive information that leads to a solution. I am linking this issue to one of the original reports of the same.- ๐ซ๐ทFrance lazzyvn paris
No, it's not as I mentioned above. Drupal 10, 11 installs fine with PHP 8.2, same database, same configuration. I think it comes from php8.3 is strictly with data type.
Compare the phpinfo pages of each PHP version on MAMP with a diff program and report back.
Are you experiencing the same error these other people reported?
- ๐ซ๐ทFrance lazzyvn paris
I certainly did. I use the same php.ini for both 8.2 and 8.3. then I installed Drupal 10.3 or 11, it gives a fatal error (batch problem).
To install Drupal 11 It must down require with php8.2, just change
const MINIMUM_PHP = '8.2.0'; // default '8.3.0'
it will work fine to the end of installation, but that's not the point. - ๐จ๐ณChina zhiqiang.qiu
Yes, I just forcibly modified it to 8.2 and installed drupal 11, and there were no errors when upload file or image.
So It's close to the truth now :)
Can you prove the PHP runtime configuration is just about identical by showing the diff?
There is already an issue for the thing @lazzyvn reported, which is ๐ Remove mentions of assert.active from .htaccess Needs work .
Please continue to provide technical information
- ๐ซ๐ทFrance onewomanbiz
I would like to thank previous contributors for sharing their workaround for installation of the latest Drupal on Wamp.
Indeed, requiring PHP 8.2 in lieu of 8.3 makes installation go successfully.
Concerning the use of WAMP, I also find it very practical and easy to use for client dev sites.
As I said in comment 17, it would be nice if someone would compare the phpinfo pages of each PHP version on MAMP with a diff program and report back. That will probably explain the cause of your problems in PHP 8.3 with these platforms.
- ๐บ๐ธUnited States nicxvan
Just commenting to say it's simple to change php or even mysql or mariadb versions in ddev too.
- ๐ช๐ธSpain davuko
Hi everyone. I was also getting this error message. I'm working locally on Windows with Laragon, using Apache-2.4.62, PHP-8.3.13 and MySQL-8.0.40.
I managed to get rid of this error message with some settings in php.ini. Here they are:--------------------------------------------
realpath_cache_size = 10M
memory_limit = 4G
-------------------------------------------- - ๐ง๐ชBelgium ericvl
Has nothing to do with WAMPP alone. Installing on XAMPP gives the same result.
And also not with Drupal 11. Installing D10.3 doesn't work too.
Only the move from PHP 8.2 to 8.3 is probably the reason.
Is ofcourse anouying for all those that want to install Drupal. - ๐ง๐ชBelgium ericvl
Hello,
I found a tweak to be able to install Drupal on a local system:
In the root folder of your site there is a .htaccess file, open it in a editor and change the lines around line #30 from<IfModule mod_php.c> php_value assert.active 0 </IfModule>
to
<IfModule mod_php.c> # php_value assert.active 0 </IfModule>
On my XAMPP local system it works. You can install Drupal again. I tested it with D10.3.10.
After installing, you could maybe edit the file again to the old version. same issue
Windows 10, WampServer 3.3.7 php 8.3.14
# php_value assert.active 0
works!
- ๐ฎ๐ณIndia sainathdb
Hi, I got the same issue, #26 worked for me ( wamp 3.3.5, php 8.3.6, mysql 8.30, apache 2.4.59)
- ๐บ๐ธUnited States danchadwick Boston
Perhaps related, I upgraded from php 8.2 to 8.3.14 using wampserver and got constant segment faults with apache terminating and restarting. Disabling assert.active in the .htaccess file as per #26 resolved this. There are no other relevant differences between the two php versions in my php.ini file.
#26 worked for me as well. Thank you guys!
wampserver on Windows, PHP 8.3.14, MySQL 8.0.40, Drupal 11.1.1This fix (#26) doesn't work for me. Wamp Server on Windows 11, php 8.3.14, MySQL 9.1.0, Drupal 11.1.1.
I don't know what to do. Can someone help?- ๐ฉ๐ชGermany joachim namyslo Kulmbach ๐ฉ๐ช ๐ช๐บ
Hello, I just stumbled across this issue and it's been like this for a good 13 years. If you knew how many times I've answered such questions at the Drupal Center in Germany. And the problem is always the same. Software like Wamp, Xampp and the like have never worked with Drupal and that's not because of Drupal but because of these software packages.
You have two options:
1. You use DDEV but you have to learn at least the basics of Docker, which, admittedly, is not necessarily what you want if you just want to run a website.
2. Install the WSL, put Ubuntu, Apache, Mysql and PHP on top of it.
The last method has several advantages1. You get an environment that is similar to DDEV
2. You can use many tutorials for Ubuntu as a guide and don't need to know much to set up a stack
3. You get an environment with which you can transfer your finished website to a server at your web host when it is ready
5. You can very accurately replicate the system resources of the web server on which your website will ultimately run
6. If your website requires certain command line tools, for example for image optimization, you can easily install them later
7. Drush and Composer work out of the box without you having to edit path variables in Windows.
DDEV is, of course, also a completely legitimate option if you don't want to deal with configuring a web server or a development environment. The initial setup of DDEV is even faster than the pure WSL setup. However, the learning curve becomes even steeper if you first have to familiarize yourself with DDV. It won't make any difference if you've never worked with Linux before, whether you use DDEV or a pure WSL setup.
Microsoft didn't introduce WSL for nothing. Tools like Wamp and XAMPP date from a time when the Windows subsystem didn't yet exist, and today they should no longer be used to work with Drupal, because they bring with them problems for which Drupal, as the actual software you want to use, simply can't do anything.To help you with your actual problem, we would have to
installing Wampp
installing Drupal 9 and somehow trying to recreate your bug,
finding the source of the error and then building a solution.
Please believe me when I say that you'll be faster if you say goodbye to WAMPP and instead switch to DDV or a pure WSL setup. Thank you so much for all these details! The learning curve is steep indeed. Switching to DDEV would certainly be more useful in the long run, but option 2 seems a little more accessible for now. I'll try that. Cheers!
- ๐บ๐ธUnited States danchadwick Boston
@joachim namyslo. I have found WampServer to be exactly to my liking, and have made tools (with few exceptions) work under git bash for windows. WRT the recent windows segment faults after upgrading to PHP 8.3, I found that switching the configuration from the apache module to FCGI worked flawlessly. My segment faults are gone without other changes to .htaccess, disabling xdebug, adjusting the apache configuration (such as thread size), etc.
I have no idea of course what the actual source of the segment fault is. I only know the change that fixed it.
- ๐ณ๐ฟNew Zealand quietone
Would it be better to document this information in Drupal documentation, say as a new page at Windows development environment โ ? That could be a better way to preserve the tips here for future users.
Also, the Drupal Core issue queue isn't the ideal place for support requests. There are several support options listed on our support page โ (Community > Support at the top of Drupal.org) and there is Drupal Slack โ . Y
- ๐ซ๐ทFrance lazzyvn paris
@danchadwick
Could you tell me how to do with Wamp
server switching the configuration from the apache module to FCGI
please.
- ๐บ๐ธUnited States danchadwick Boston
#26 solution worked for me,
my system configuration
Wamp Server : 3.3.7 (64bit)
Drupal : 11.1.1
PHP : 8.3.14
MySQL : 9.1.0Thankyou @ericvl
- ๐ฉ๐ชGermany joachim namyslo Kulmbach ๐ฉ๐ช ๐ช๐บ
The configuration php_value assert.active 0 in an .htaccess file or server configuration disables the execution of PHP assertions. This means that all calls to the assert() function in PHP are ignored and immediately return true without actually evaluating the condition. This is useful for disabling assertions in production environments, as they are typically only used for debugging and development purposes.
Background on assert.active
Function of assert(): The assert() function is used to check conditions in code. If the condition fails, it can trigger a warning or perform an action, such as terminating the script. However, assertions are not a substitute for regular error handling but serve as a debugging tool.
assert.active: This setting controls whether assertions are executed at all. When set to 0, all assertions are ignored, improving performance and avoiding unnecessary checks in production systems.
Changes in PHP 8.3
Starting with PHP 8.3, the setting assert.active along with related options like assert.bail, assert.warning, and assert.callback has been deprecated. Instead, it is recommended to use the zend.assertions setting:
zend.assertions=1: Assertions are active.
zend.assertions=0: Assertions are compiled but ignored at runtime.
zend.assertions=-1: Assertions are completely removed and not compiled (recommended for production environments).
Example Transition to zend.assertions
To replace the deprecated assert.active=0 setting with the new approach, you should update the configuration file as follows:
text
; Old method
; assert.active = 0; New method
zend.assertions = -1
Conclusion
Using php_value assert.active 0 is a common way to disable assertions in older PHP versions. However, in newer versions (from PHP 8.3 onwards), it is recommended to use zend.assertions=-1 instead, as the old settings are no longer supported and may be removed in future versions. @joachim namyslo
I found WAMP64 to work perfectly with Drupal 8, 9, 10 and 11.
A couple of tweaks need to be done in the certificates and environment variables.
I'm also using composer with git.
It just works and WAMP is super easy.I encountered this issue after activating PHP 8.3 as well, and #26 worked for me as well.
I tried
<IfModule mod_php.c> php_value zend.assertions -1 </IfModule>
but I got
[24-Feb-2025 12:52:05 UTC] PHP Warning: zend.assertions may be completely enabled or disabled only in php.ini in Unknown on line 0so that isn't practical
- ๐ฉ๐ชGermany joachim namyslo Kulmbach ๐ฉ๐ช ๐ช๐บ
OK
In the end, it doesn't matter whether it works or not. We have had WSL since Windows 10, and it works wonderfully and natively provides everything you need to run all kinds of web applications directly on Windows.
There is no longer any good reason to use this type of software. Without a single tweak.I'm fine with it if it works for some of you. Newcomers who first have to configure their stack to make Drupal work often blame Drupal and for this reason we shouldn't support such software at all.
The solution is in #26. This is the explanation for 26.
- ๐ซ๐ทFrance lazzyvn paris
@joachim it is Just because you don't use it doesn't mean you don't want others to not use it.
In fact, Old Drupal worked fine in this environment, for me even after changing htaccess #26 it still crashes, I'll log the errors. @joachim
I tried WSL on Windows 10 and it was very very slow for Drupal.
Is the performance good in your experience?- ๐ฉ๐ชGermany joachim namyslo Kulmbach ๐ฉ๐ช ๐ช๐บ
yes, but it depends on RAM, CPU Cores and HDD Space on your system drive, because WSL stores Linux there. So if one of theese ressources is week, it may be not the best option for you. It depends highly on your hardware setup.
Plus I am on Windows 11. Windows 10 is near eol so I wouldn't even give it a try anymore. But that's me.
Localy I am useing WSL wรญth this hardware:
OS: Microsoft Windows 11 Pro, Version 10.0.26100
CPU: AMD Ryzen 9 5950X 16-Core Processor
RAM: 128.0 GB
Storage (3): HDD - 14.6 TB,SSD - 931.5 GB,+1 more
GPU: NVIDIA GeForce RTX 3090To be honest, I haven't really been able to compare the speed of the WSL. Unfortunately, I don't have 3 computers with 5 different operating systems. I can only tell you that the WSL is performant enough for me. It runs in the background and when I want to do something with Druapl, it starts up. When I switched over, it was even faster than Virtualbox. I can't say whether this is still the case.
I used to develop with 32 GB RAM system memory using Virtualbox without any problems. Maybe it will be more performant in your case. But I can't say anything about that.
What I do know for sure is that it is probably not a good idea to run the WSK on a system with less than 16 GB RAM. WSL is definitely slow on a computer with 8 GB ram, for example. But that shouldn't surprise anyone these days. I mean, my cell phone already has 12 GB of RAM and I only carry that around in my pocket in case it rings and don't develop Drupal websites on it
But since even Docker uses WSL2 for Windows, I don't think WSL itself is slow. There should be enough developers here in the community who can confirm or deny this.
For my part, I love being able to install the same packages with the same commands as I use when I work on my server or on the servers of customers.