So i updated a symfony app the other day to version 5.1.6 and suddenly the static code analyzer psalm ran appearently in an hangup loop and never terminated.
After some investigation it showed that symfony added a .preload.php file to the src directory to enable the new PHP7.4 preloading feature.
Unfortunatly psalm parsed this file and followed all includes.
This took it so long that i took it for an endless loop.
There is some discussion in symfony github issues about this and the conclusion was to replace src/.preload.php with config/preload.php which happens now in a recipe.
Continue reading “Psalm Static Analyzer fails with Symfony’s builtin preloading file”
Living in an umlaut country like Germany umlaut domains are sometimes requested.
But: Umlaut domains resp. Internationalized Domain Names (IDN) are problematic.
My main pain points were these:
- Browsers tend to convert the unicode representations to ASCII Compatible Encoding (ACE) with punycode representations for security reasons when copying the url.
So you will get a nice surprise when pasting the url somewhere:
F.e. having https://hürth-blüht.de/ in the browsers address bar will get you https://xn--hrth-blht-q9ag.de/ on copy/paste.
Continue reading “Umlaut domain problems”
This punycode representation is very unfamiliar to normal users and will keep them from clicking the url because it looks suspicious.
Oxid eShop 6.2 is released and its a good step forward to a modernized codebase, embracing best practices and more symfony-like patterns.
Since i do a lot of coding with symfony besides OXID i was very exited about this new version. So i gave it a try and updated one of the shops i maintain. (
Its not public yet, i will update this post once we launch, Its launched by now, yay: https://www.cafelehmitz-photobooks.com/).
I basically followed this upgrade guide: https://docs.oxid-esales.com/eshop/de/6.2/installation/update/von-6.1.x-auf-6.2.0-aktualisieren.html
Continue reading “Updating OXID eShop to 6.2.0”
So here is my experience updating OXID eShop 6.1.5 to 6.2.0:
Recently i more often encounter this strange error in my docker-compose setups while bringing up the containers with
Continue reading “docker-compose network not found”
ERROR: for docker_myproject_phpmyadmin_1 Cannot start service mg_myproject_phpmyadmin: network 15dff95a23808fe9d14b3dae71c0daeaa8b274c90566baa5beff37f3738033b6 not found
Recently i wanted to use Sqlite with Adminer in Docker and it turned out to be not so easy.
I actually thought i could just declare Adminer in a docker-compose.yml file with a volume mounted, similar as i would do for adminer with mysql.
But since Adminer is a popular hacking target they introduced a feature that does not allow to run adminer without a password, out of the box.
Continue reading “Adminer for Sqlite in Docker”
Sqlite database usually runs without password and dang, workaround needed!
Symfony’s deprecation warnings while running tests is a great service to keep track with upcoming changes in newer symfony versions.
However these warnings can break your CI/CD pipeline and sometimes you cant fix all deprecation warnings immediatly.
To disable them you can set the ENV var
Continue reading “Disable symfony deprecation warnings in PHPUnit tests”
and the warnings will not be displayed anymore and CI/CD will pass again.
Update from comments:
does also work and will still show the deprecation warnings count. (Thx Max)
Standardmässig macht der OXID V6* Shop die Marken bzw Hersteller Urls so:
Möchte man “Nach Hersteller” umnennen in zB “Marken” muss man folgendes machen:
Continue reading “Hersteller Url umnennen in OXID eShop”
For the record:
If you ever encounter this error while upgrading Apache webserver 2.2 to 2.4:
Unknown Authz provider: from
Then you probably made a mistake replacing:
allow from all
Require all granted
And just replaced allow with Require and not the complete directive, like:
Require from all
Then its time for a double facepalm :)
I recently switched from PHPStorm to IntelliJ Ultimate because of some Java. But still i am working a lot on PHP and symfony projects.
One thing i usually do on symfony projects in PHPStorm is to edit the “Directories” in the settings to avoid having results from var/cache or var/logs in the search results.
Also it slows down the search which i heavily use. So i exlude all folders that should not be searched because they are cache files or are redundant in some other way.
Continue reading “Directories settings in PHPStorm and IntelliJ Ultimate”
When working with APIs you sometimes cant use the live API in the tests.
Because you dont own the API, dont want to spam, cant create entities for testing or various other reasons.
Then you need to mock the API and deliever responses from fixtures.
Though there is this term of “Don’t mock what you don’t own” we will mock the API because we dont own it. :)
https://github.com/julienfalque/http-mock is a nice library which helps a lot when mocking an API.
And when your client is using Guzzle there is also a Guzzle handler for HttpMock that makes integration easy.
How does this work?
Continue reading “mocking APIs with Guzzle”