Я использую 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 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 должен быть в порядке. Надеюсь, это поможет!
На случай, если это кому-нибудь поможет. Я использую Linux Mint 18.x (Linux 4.15.0-48-generic # 51 ~ 16.04.1-Ubuntu8 6_64 GNU / Linux), и у меня возникла эта проблема с Apache 2.1.18, php 7.0 и Zoneminder v1.33.8 после обновления от 1.29.
$> php -i | grep mysql выдал следующий вывод:
Запуск PHP: невозможно загрузить динамическую библиотеку '/usr/lib/php/20151012/pdo_mysql.so' - /usr/lib/php/20151012/pdo_mysql.so: undefined символ: mysqlnd_connect в Unknown в строке 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 / моды-доступные.
Решение: 1) Скопируйте файлы .ini из /usr/share/php7.0-mysql/mysql в /etc/php/7.0/mods-available
2) Перезапустите apache2 - systemctl перезапустите apache2
После этого я смог запустить Zoneminder довольно счастливо, и php -i / php -m работал без жалоб.