upgrade to 1.36.20 - now receiving an error trying to go to ZM site

Discussions related to the 1.36.x series of ZoneMinder
pat2
Posts: 157
Joined: Fri Sep 16, 2016 6:35 pm

Re: upgrade to 1.36.20 - now receiving an error trying to go to ZM site

Post by pat2 »

Ralphred wrote: Sun Jul 17, 2022 5:45 pm
pat2 wrote: Sun Jul 17, 2022 3:10 pmwith php 7.4 by Ondrej.
I think this might be the root cause of your issue, Ondrej's php PPA doesn't have any xenial packages in it on checking today, only >=18.04.
That said there are php7.x packages in the standard xenial repos.
Do you know why you are using this `out of tree` php build? If it's because is was ahead of the curve in the past, it may just be time to use ubuntu's own php7.4 packages for 16.04 now they exist.

For both you and egglestn, I've tracked down the .so library responsible for making the IntlDateFormatter class available to php in ubuntu:
For me it's /usr/lib/php/20190902/intl.so, but I wouldn't be surprised to see it as /usr/lib/php/[some date]/intl.so depending on php and distro version. If you list the /usr/lib/php/[some date]/ directory contents and there is a lack of other modules in there then you probably have the wrong phpX.X-intl version installed. If you can't find it at all, default to using mlocate to see if it's in the wrong place

Code: Select all

apt install mlocate
updatedb
locate intl.so
If it doesn't come back with a intl.so file in a php related context then you need to install the phpX.X-intl package for your php version*.

Obviously I've posted about finding the correct php.ini file and making sure intl is enabled before, but if there is still some doubt in your mind as to which php.ini is being used by your webserver, make the following myphpinfo.php file

Code: Select all

<?php phpinfo() ?>
put it in a location you know how to reach on your webserver (/var/www/html/myphpinfo.php in my 18.04 VM), and open it in a browser (http://localhost/myphpinfo.php in this case).
The first block of information tells which .ini file(s) was loaded, and if you scroll down far enough you find the "Internationalisation support" section.
If you have a web facing server it's IMPORTANT to remove this file ASAP afterwards (you don't want to publish your attack surface to any passing script kiddy).

*If you are reading this and aren't using ubuntu, just because ubuntu loads intl.so as a module doesn't mean your distro does, I know mine is built in on my production server, yours may be too...

Thanks, Ralphred.


I was on 7.4 to try fastCGI. I saw on my Odroid board: the situation is similar to egglestn's one. Many php versions installed: 7.0, 7.4, 8.0!!!

If I go on the phpinfo.php web page (then canceled, thanks for your suggestion) it says 7.4.
If from terminal I ask php -v, it says 8.0.

I tried to uninstall till 7.0 version, removing all php versions and reinstalling 7.0, but -I'm not an expert- php is not working anymore (i see the code of the php web page...).
To do experiment I installed from scratch all the stack: ubuntu 16.04, LAMP and zoneminder 1.36.20. It works. Php is 7.0. I saw that it installs also php-intl.

I also tried to install 1.36.19 form scratch. It's not able claiming for 2 libraries dependency (apcu or something similar). For 1.36.20 it doesn't claim for those 2 libraries and installation form scratch is fine (as you suggested).

Anyway you were right -the issue is on 7.4 by Ondrej- and thanks for the support!
---------------------------------------------------------------------------
ZM 1.36.34 - 14 cameras on Orange Pi 5 (arm64) - Ubuntu Jammy 22.04
Post Reply