- Issue created by @bobburns
- Status changed to Postponed: needs info
over 1 year ago 8:29pm 4 May 2023 - 🇦🇺Australia larowlan 🇦🇺🏝.au GMT+10
How did you perform the upgrade? With composer or using the tarball
- 🇺🇸United States bobburns
Upgrade to 9.5.9 via composer throws this error and gives a black screen unaccessible site A rollback is necessary
Is the first line of the issue - composer
"drupal/core": "9.5.9",
"drupal/core-composer-scaffold": "9.5.9",
"drupal/core-project-message": "9.5.9",
"drupal/core-recommended": "9.5.9",Have been doing this since version 8
I don't know if it is an issue with this specific site, but drupal/core should not be there if drupal/core-recommended is there. It's a bit unusual to see both.
What specific Composer commands did you type?
- 🇺🇸United States bobburns
What is causing it looks like => longwave/laminas-diactoros (2.14.2) appears to be installed and it reports Removing laminas/laminas-diactoros (2.14.0). When laminas/laminas-diactoros (2.14.0) is left there and core is manually put on it works.
The original composer json fle was copied from an installing Drupal page and I do not know what difference there is between "core" and "core-recommended" but it has always worked
I am going to leave it alone working until the next upgrade is released and then we will see if the issue is still there
- 🇦🇺Australia larowlan 🇦🇺🏝.au GMT+10
The laminas package has a security issue.
The fork into longwave's namespace is to backport the security fix I've observed the same site crash after composer update.
The error I've had (in console) is:Gathering patches for dependencies. This might take a minute.
- Installing drupal/core (9.5.9): Extracting archive
Failed to extract drupal/core: (50) C:\Programs\common\msys\bin\unzip.EXE -qq C:\Data\webdev\drupalProjects\plateformeauto_v1_dev\vendor\composer\tmp-08c96cd58904700324fdc67b735b381e -d C:\Data\webdev\drupalProjects\plateformeauto_v1_dev\vendor\composer\f385dedcerror: cannot create C:/.../vendor/composer/f385dedc/drupal-core-c3b194f/modules/content_moderation/tests/modules/content_moderation_test_views/config/install/views.view.test_content_moderation_state_filter_base_table_filter_group_or.yml
error: cannot create C:/.../vendor/composer/f385dedc/drupal-core-c3b194f/modules/content_moderation/tests/modules/content_moderation_test_views/config/install/views.view.test_content_moderation_state_filter_base_table_filter_on_revision.ymlThe archive may contain identical file names with different capitalization (which fails on case insensitive filesystems)
Unzip with unzip command failed, falling back to ZipArchive classI checked that both yml files were correctly created but I didn't have time to check the archive and be able to know if it contains identical file names with different capitalization (which fails on case insensitive filesystems)
I'm on a windows OS.
Kind regards,
Vlad@valica Your error seems totally different. What is the connection to this support request?
The error I've posted is still related to the update to Drupal Core 9.5.9. Moreover, once the installation goes wrong, the rollback take long time to finish and it happened to fail. At that stage, when testing the website, I saw laminas errors.
I didn't have time to get more into details but I consider that any additional information might be helpful.
In my case, I simply typed "composer update" to get into the problem.
HTH,
valica- 🇺🇸United States glynster
We have a similar issue:
Composer require:
"drupal/core-composer-scaffold": "^9.5", "drupal/core-project-message": "^9.5", "drupal/core-recommended": "^9.5", "drupal/core-vendor-hardening": "^9.5",
Run composer update
Read out:
Updating dependencies Lock file operations: 1 install, 2 updates, 1 removal - Removing laminas/laminas-diactoros (2.14.0) - Upgrading drupal/core (9.5.8 => 9.5.9) - Upgrading drupal/core-recommended (9.5.8 => 9.5.9) - Locking longwave/laminas-diactoros (2.14.2) Installing dependencies from lock file (including require-dev) Package operations: 1 install, 2 updates, 1 removal - Removing laminas/laminas-diactoros (2.14.0) Gathering patches for dependencies. This might take a minute. - Installing longwave/laminas-diactoros (2.14.2): Extracting archive - Upgrading drupal/core (9.5.8 => 9.5.9): Extracting archive - Upgrading drupal/core-recommended (9.5.8 => 9.5.9)
Run composer cr
After this we always get the following error:
The website encountered an unexpected error. Please try again later. Error: Class "Laminas\Diactoros\ServerRequestFactory" not found in Drupal\Component\DependencyInjection\Container->createService() (line 259 of core/lib/Drupal/Component/DependencyInjection/Container.php).
As soon as we revert composer require drupal/core-recommended:9.5.8 --update-with-all-dependencies
All works as usual.
- 🇺🇸United States stephenplatz
I had the exact same error as the one reported by @/bobburns. Removing the
vendor
directory and runningcomposer install
fixed the issue for me. - 🇺🇸United States glynster
@stephenplatz I was hoping this would help but no luck in our case....Ee will hold off upgrading until the next update and hopefully this gets solved!
- 🇳🇱Netherlands ReneW
I had the same issue over here. Nothing worked. Because the website was running on an acceptance environment on shared hosting, I logged in into DirectAdmin and under PHP-settings disabled and enabled the 'Opcache' checkbox. That fixed the problem for me!
- 🇺🇸United States glynster
@ReneW spot on. For me this was happening locally. Once we performaced a lando rebuild to clear the php caching all was resolved. So given everyones issues I think it's fair to say this is a PHP caching issue.
- 🇺🇸United States stephenplatz
Rebuilding my app with lando was not a solution for me, composer and drush still failed with the exact error above
PHP Fatal error: Uncaught Error: Failed opening required '/var/www/public_html/vendor/composer/../laminas/laminas-diactoros/src/functions/create_uploaded_file.php' (include_path='/var/www/public_html/vendor/pear/archive_tar:/var/www/public_html/vendor/pear/console_getopt:/var/www/public_html/vendor/pear/pear-core-minimal/src:/var/www/public_html/vendor/pear/pear_exception:.:/usr/share/pear:/usr/share/php:/usr/share/pear:/usr/share/php') in /var/www/public_html/vendor/composer/autoload_real.php:45
That doesn't rule-out caching somewhere as the underlying issue, but it also seems like there are several discrete issues being reported here, mine was the exact same as the original reported issue.
- 🇺🇸United States glynster
@stephenplatz interesting. I also run many websites on Drupal 8/9/10 using Lando and this was the first time this had occurred. It is hard when everything is just a little different for everyone. I guess all we can do is keep adding our outcomes here to help others.
I have the same issue with one of my clients. It is the same for laminas-diactoros when I upgrade to Drupal core 9.5.9 with this error:
Warning: require(/code/vendor/composer/../laminas/laminas-diactoros/src/functions/create_uploaded_file.php): failed to open stream: No such file or directory in /code/vendor/composer/autoload_real.php on line 45 Fatal error: require(): Failed opening required '/code/vendor/composer/../laminas/laminas-diactoros/src/functions/create_uploaded_file.php' (include_path='/code/vendor/pear/archive_tar:/code/vendor/pear/console_getopt:/code/vendor/pear/pear-core-minimal/src:/code/vendor/pear/pear_exception:.:/usr/share/pear:/usr/share/php') in /code/vendor/composer/autoload_real.php on line 45
Nothing from the suggestion above seems to work. I'm keeping on deep diving to see if I hit some light but it would be lovely to know your ideas on this.
- Status changed to Active
over 1 year ago 10:15am 15 June 2023 - 🇬🇧United Kingdom catch
I don't know if there's anything we can do in core about this, but I think at least we could put some of the known workarounds into the 9.5.9 release notes.
- 🇳🇱Netherlands spokje
Does something like
composer dump-autoload
or even the drastic comborm -rf vendor && composer install
change anything? - 🇬🇧United Kingdom longwave UK
Yeah this feels like one of the autoloader optimizations is being cached somewhere - https://getcomposer.org/doc/articles/autoloader-optimization.md has a bit more info on this, the "dump-autoload" above is a good idea, and it's possible that the incorrect optimisations are being stored in APCu so restarting your webserver might be an option, if possible.
- 🇺🇸United States seanr
I'm stuck with a completely unusable composer - I can't even run `dump-autoload`. Is there a way to do that manually?
- 🇮🇳India Jeya sundhar Coimbatore
Hi @longwave Thankyou. After composer update. I reboot the aws server. It's now updated to 9.5.8 ~> 9.5.10
- 🇵🇱Poland sandboxpl Poland 🇵🇱
We experience same problem , after deploying changes the website goes down and we get following error:
Error: Class "Laminas\Diactoros\ServerRequestFactory" not found in /var/www/html/docroot/core/lib/Drupal/Component/DependencyInjection/Container.php on line 259 #0 /var/www/html/docroot/core/lib/Drupal/Component/DependencyInjection/Container.php(449): Drupal\Component\DependencyInjection\Container->createService(Array, 'private__Q1ZW9d...')
restarting FPM pool and clearing op/apcu cache solves the problem,
it seems that it comes down to the change introduced in core 9.5.9 and following issue:
https://www.drupal.org/project/drupal/issues/3356283 📌 Fork laminas/laminas-diactoros Fixed
The fork oflaminas/laminas-diactoros packange
moved the vendor package around in vendor directories
vendor/laminas/laminas-diactoros -> vendor/longwave/laminas-diactoros
Usually setting newdeployment_identifier
helps us to get around such problems, but in this case it didn't work - First commit to issue fork.