
When you are using phpstan and the Symfony Component Property Access and you would get this error:
Method YAY\Sync\Subject::initPath() has parameter $path with no value type specified in iterable type Symfony\Component\PropertyAccess\PropertyPath
Make sure that you
a) have the phpstan symfony extension installed
b) you are using the interface:
private function initPath(PropertyPathInterface $path): void
instead of
private function initPath(PropertyPath $path): void
Just the plain path. The reason is, that in the phpstan symfony extension the interface is stubbed and has the iterable type applied.
or other incompatibilities issues with newest chromedrivers but outdated selenium webdriver libraries (like instaclick/php-webdriver).

since the new chrome webdriver is w3c compatible, but behat isnt yet.
This was the github thread that helped: https://github.com/minkphp/MinkSelenium2Driver/issues/293
but be aware: chromeOptions was renamed to goog:chromeOptions
You can track: https://github.com/instaclick/php-webdriver/issues/84 to see when the issue is fixed
When you are IN the wsl2 and you want to know how to connect to the desktop / the windows host, here is how i did it
hostip=$(ipconfig.exe | grep 'vEthernet (WSL)' -A4 | cut -d":" -f 2 | tail -n1 | sed -e 's/\s*//g')
I found lots solutions that were awk’ing the resolve.conf but had the google servers in there.
You need that, when you want to connect to your display server, or use some npipe hacks or else
Execute command Restart-Service LxssManager
in Powershell as admin
Do you want to use some caching in docker-compose/docker in your CI to speedup things? You probably want to!
Given something like:
FROM php:...WORKDIR /appCOPY composer.* ./RUN composer installCOPY . ./
You have seen that before right? If your composer.lock and composer.json do not change, you have no new dependencies to install and so you definitively want to skip the composer install on every build step of your pipeline.
But this does not work like that! Somehow docker will not resolve the glob in the copy command above and cannot cache it entirely. It’ll installs everytime.
You have to change to:
COPY composer.json composer.lock ./
Struggling to make docker-caching work in your pipeline? There a tons of more tricks, should I continue? Clap for this article :) Thanks :)