Zoneminder;ZM db.找不到驱动程序;Ubuntu 18.04

Zoneminder;ZM db.找不到驱动程序;Ubuntu 18.04

我正在运行 Ubuntu 18.04 并尝试运行 zoneminder。当我运行 systemctl status zoneminder 时,状态为活动。

所以它已安装。当我浏览到服务器时http://linux-box_IP/zm/我收到以下错误。

Unable to connect to ZM db.could not find driver

我遵循了两个不同的演练并获得了相同的结果(包括自动安装脚本):

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/

有人见过这个或者有什么想法吗?

** 更新

我在全新安装的 ubuntu 上再次使用了 wiki 中的自动安装脚本,第一次就成功了。不确定是什么导致了问题,因为我最初尝试的系统远非干净的环境。

答案1

我遇到了同样的问题,并找到了解决办法。这可能会对你有帮助。

就我而言,我最初使用的是 Ubuntu 14.04 LTS,后来升级到 Ubuntu 16.04 LTS,最后升级到 Ubuntu 18.04 LTS。因此,我有几个相互冲突的 apache2-mod-php 配置。

# ls -la /etc/apache2/mods-available/php*
-rw-r--r-- 1 root root 897 Jul  2  2015 /etc/apache2/mods-available/php5.conf
-rw-r--r-- 1 root root  59 Jul  2  2015 /etc/apache2/mods-available/php5.load
-rw-r--r-- 1 root root 867 Mar 22 19:16 /etc/apache2/mods-available/php7.0.conf
-rw-r--r-- 1 root root  79 Mar 22 19:16 /etc/apache2/mods-available/php7.0.load
-rw-r--r-- 1 root root 855 Apr 18 17:12 /etc/apache2/mods-available/php7.2.conf
-rw-r--r-- 1 root root 102 Apr 18 17:12 /etc/apache2/mods-available/php7.2.load

并且 php7.0 与 php7.2 同时启用,这导致了这个问题。

# ls -la /etc/apache2/mods-enabled/php*
lrwxrwxrwx 1 root root 29 Apr  7 20:25 /etc/apache2/mods-enabled/php7.0.conf -> ../mods-available/php7.0.conf
lrwxrwxrwx 1 root root 29 Apr  7 20:25 /etc/apache2/mods-enabled/php7.0.load -> ../mods-available/php7.0.load
lrwxrwxrwx 1 root root 29 May  3 00:22 /etc/apache2/mods-enabled/php7.2.conf -> ../mods-available/php7.2.conf
lrwxrwxrwx 1 root root 29 May  3 00:22 /etc/apache2/mods-enabled/php7.2.load -> ../mods-available/php7.2.load

禁用它们,确保所有库都已安装并重新启动 apache:

sudo a2dismod php7.0
sudo a2dismod php5    
sudo apt install php7.2 libapache2-mod-php7.2 php7.2-mysql php-common php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline
sudo a2enmod php7.2
sudo systemctl restart apache2

此时 ZoneMinder 应该没问题了。希望这能有所帮助!

答案2

希望能对大家有所帮助。我运行的是 Linux Mint 18.x (Linux 4.15.0-48-generic #51~16.04.1-Ubuntu8 6_64 GNU/Linux),从 1.29 升级后,Apache 2.1.18、PHP 7.0 和 ZoneMinder v1.33.8 出现了这个问题。

$> 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

经过调查,我发现了以下情况:

  1. 下列.ini文件已安装/usr/share/php7.0-mysql/mysql不是在发现/etc/php/7.0/mods-available

    • mysqlnd.ini
    • pdo_mysql.ini
    • mysqli.ini
  2. .ini这些文件存在于的符号链接/etc/php/7.0/fpm/conf.d//etc/php/7.0/cli/conf.d/etc/php/7.0/apache2/conf.d 指向/etc/php/7.0/mods-available

解决方案:

  1. .ini文件从/usr/share/php7.0-mysql/mysql复制到/etc/php/7.0/mods-available

  2. 重新启动Apache2:

    systemctl restart apache2
    

之后我就能愉快地启动 ZoneMinder 了,而且php -i没有php -m任何问题。

相关内容