I am running Ubuntu 18.04 and trying to run zoneminder. The status is active when I run systemctl status zoneminder.
So it is installed. When I browse to the server at http://linux-box_IP/zm/ I get the below error.
Unable to connect to ZM db.could not find driver
I followed two different walkthroughs and achieved the same results (including the automatic install script):
https://wiki.zoneminder.com/Ubuntu_Server_18.04_64-bit_with_Zoneminder_1.32.x_the_easy_way
https://bkjaya.wordpress.com/2018/05/22/how-to-install-zoneminder-v1-31-44-on-ubuntu-18-04-lts/
Has anyone seen this or have any ideas?
** UPDATE
I used the automatic install script from the wiki again on a clean install of ubuntu and it worked the first time no problem. Not sure what was causing the problem because the system I tried it on initially was far from a clean environment.
I had the same problem and figured it out. This may help you.
In my case I initially had Ubuntu 14.04 LTS, which was upgraded to Ubuntu 16.04 LTS and finally to Ubuntu 18.04 LTS. Thus I had several conflicting configurations of apache2-mod-php.
And php7.0 was enabled along with php7.2 which caused the problem.
Disable them, make sure that all libraries are installed and restart apache:
At this point ZoneMinder should be OK. Hope this helps!
In case it helps anyone. I'm running Linux Mint 18.x (Linux 4.15.0-48-generic #51~16.04.1-Ubuntu8 6_64 GNU/Linux) and had this problem with Apache 2.1.18, php 7.0 and Zoneminder v1.33.8 after upgrading from 1.29.
$> php -i | grep mysql gave the following output:
PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/pdo_mysql.so' - /usr/lib/php/20151012/pdo_mysql.so: undefined symbol: mysqlnd_connect in Unknown on line 0
On investigation, I found the following:
1) The following .ini files had been installed under /usr/share/php7.0-mysql/mysql, but were not found in /etc/php/7.0/mods-available
mysqlnd.ini pdo_mysql.ini mysqli.ini
2) symbolic links these .ini files existed under /etc/php/7.0/fpm/conf.d/, /etc/php/7.0/cli/conf.d and /etc/php/7.0/apache2/conf.d pointing to /etc/php/7.0/mods-available.
Solution: 1) Copy the .ini files from /usr/share/php7.0-mysql/mysql into /etc/php/7.0/mods-available
2) Restart apache2 - systemctl restart apache2
Following that I was able to start Zoneminder quite happily and php -i/php -m worked without complaint.