Got a problem after PHP-Update to 8.3.
tackin opened this issue · 2 comments
Perhaps it is a bug with radio-api on php 8.3. ... or just my faulty config after update.
- non-docker environment
- apache + php 8.3
- dns via pihole points to local apache-server
- 2 dual radios
- worked until today with apache+php 8.2
I simply updated my linux and had to update some packages with php-stuff also.
Went from php 8.2. to 8.3.
Had to update the apache-config as well.
After that the radios didn't want to stream again.
First problem: the radios did try a fallback from dual.wifiradiofrontier.com to dual2.wifiradiofrontier.com.
Fixed it by adding dual2.* to the local-dns-records of pihole as well.
But still the radios could not open the menu or find the streams. I must have broken something else.
So I opened dual.wifiradiofrontier.com on a PC and got the gui. I could login and found all streams in the database as usual.
Means, DNS-redirect, modrewrite, and the webserver with php is working.
But: A call to http://dual.wifiradiofrontier.com/setupapp/dual/asp/BrowseXML/loginXML.asp?token=0 on the browser
gives nothing back, but should return: 3a3f5ac48a1dab4e
This is my PHPinfo:
http://tackin.de/radio-api_problem_2024-04-17.html
Could you please have a look at the PHPinfo and perhaps have a guess, where to look.
To solve that for now, I quickly switched to the latest docker-version and all radios are up and running just nice again. But I would like to be able to run it on the Webserver again without the docker-container.
Hi,
I do not assume that it is a direct problem with PHP 8.3 – the current Docker container runs on version 8.3 and I did most development of the non docker version with 8.3, too.
I just compared the PHP info from the Docker container with yours. There I noticed that you do not have mbstring
which is used by Radio-API to convert Umlauts and similar for the radio. Thus, I assume the local install misses a package like php-mbstring
.
Additionally, it seems that you don not have curl
. This used by EndURL, so if you use EndURL, it should be also installed.
Nice! Yep, solved the problem!
sudo apt install php8.3-mbstring
sudo apt install php8.3-curl
systemctl reload apache2
... and it's up and running again!
No clue why it was not updated/installed as well with my exicting php, as it must have been there before.
Thanks a lot for your kind help!