Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: [DE] [gelöst] mysqli fehlt  (Read 8730 times)

Offline harley-peter

  • User
  • Posts: 1.022
[DE] [gelöst] mysqli fehlt
« on: 2017/04/19, 15:23:55 »
Hallo,

seit einiger Zeit bekomme ich beim Start von phpmyadmin die Meldung dass mysqli fehlt. Ich habe vor längerer Zeit mal Apache durch nginx ersetzt. Vielleicht ist es seitdem das weiß ich aber nicht sicher weil ich damals nur meine Startseite gecheckt habe um zu sehen ob nginx läuft. Wo bekomme ich die Erweiterung her bzw. wie kann ich sie aktivieren wenn sie in einem Paket "versteckt" ist?

Folgendes ist installiert:

Code: [Select]
dpkg -l | grep mysql
ii  dbconfig-mysql                                   2.0.8                             all          dbconfig-common MySQL/MariaDB support
rc  libmysqlclient16                                 5.1.62-1                          amd64        MySQL database client library
ii  mysql-client                                     5.7.17-1                          all          MySQL database client (metapackage depending on the latest version)
ii  mysql-client-5.7                                 5.7.17-1                          amd64        MySQL database client binaries
ii  mysql-client-core-5.7                            5.7.17-1                          amd64        MySQL database core client binaries
ii  mysql-common                                     5.8+1.0.2                         all          MySQL database common files, e.g. /etc/mysql/my.cnf
ii  mysql-server                                     5.7.17-1                          all          MySQL database server (metapackage depending on the latest version)
rc  mysql-server-5.6                                 5.6.30-1                          amd64        MySQL database server binaries and system database setup
ii  mysql-server-5.7                                 5.7.17-1                          amd64        MySQL database server binaries and system database setup
ii  mysql-server-core-5.7                            5.7.17-1                          amd64        MySQL database server binaries
ii  mysql-utilities                                  1.6.4-1                           all          collection of scripts for managing MySQL servers
ii  php-mysql                                        1:7.0+51                          all          MySQL module for PHP [default]
rc  php5-mysqlnd                                     5.6.24+dfsg-1+b3                  amd64        MySQL module for php5 (Native Driver)
ii  php7.0-mysql                                     7.0.16-3                          amd64        MySQL module for PHP
ii  python-mysql.connector                           2.1.5-1                           all          pure Python implementation of MySQL Client/Server protocol

Code: [Select]
dpkg -l | grep php
ii  php                                              1:7.0+51                          all          server-side, HTML-embedded scripting language (default)
ii  php-cli                                          1:7.0+51                          all          command-line interpreter for the PHP scripting language (default)
ii  php-common                                       1:51                              all          Common files for PHP packages
ii  php-curl                                         1:7.0+51                          all          CURL module for PHP [default]
ii  php-gettext                                      1.0.12-0.1                        all          transitional dummy package for php-php-gettext
ii  php-mbstring                                     1:7.0+51                          all          MBSTRING module for PHP [default]
ii  php-mysql                                        1:7.0+51                          all          MySQL module for PHP [default]
ii  php-pear                                         1:1.10.1+submodules+notgz-9       all          PEAR Base System
ii  php-php-gettext                                  1.0.12-0.1                        all          read gettext MO files directly, without requiring anything other than PHP
ii  php-phpseclib                                    2.0.4-1                           all          implementations of an arbitrary-precision integer arithmetic library
ii  php-tcpdf                                        6.2.12+dfsg2-1                    all          PHP class for generating PDF files on-the-fly
ii  php-xml                                          1:7.0+51                          all          DOM, SimpleXML, WDDX, XML, and XSL module for PHP [default]
ii  php-xml-parser                                   1.3.6-1                           all          XML parsing class based on PHP's bundled expat
ii  php5                                             5.6.26+dfsg-1                     all          server-side, HTML-embedded scripting language (metapackage)
ii  php5-cgi                                         5.6.26+dfsg-1                     amd64        server-side, HTML-embedded scripting language (CGI binary)
ii  php5-cli                                         5.6.26+dfsg-1                     amd64        command-line interpreter for the php5 scripting language
ii  php5-common                                      5.6.26+dfsg-1                     amd64        Common files for packages built from the php5 source
ii  php5-fpm                                         5.6.26+dfsg-1                     amd64        server-side, HTML-embedded scripting language (FPM-CGI binary)
ii  php5-gd                                          5.6.26+dfsg-1                     amd64        GD module for php5
ii  php5-intl                                        5.6.26+dfsg-1                     amd64        internationalisation module for php5
ii  php5-json                                        1.3.9-1                           amd64        JSON module for PHP 5
ii  php5-mcrypt                                      5.6.26+dfsg-1                     amd64        MCrypt module for php5
rc  php5-mysqlnd                                     5.6.24+dfsg-1+b3                  amd64        MySQL module for php5 (Native Driver)
ii  php7.0                                           7.0.16-3                          all          server-side, HTML-embedded scripting language (metapackage)
ii  php7.0-cli                                       7.0.16-3                          amd64        command-line interpreter for the PHP scripting language
ii  php7.0-common                                    7.0.16-3                          amd64        documentation, examples and common module for PHP
ii  php7.0-curl                                      7.0.16-3                          amd64        CURL module for PHP
ii  php7.0-fpm                                       7.0.16-3                          amd64        server-side, HTML-embedded scripting language (FPM-CGI binary)
ii  php7.0-json                                      7.0.16-3                          amd64        JSON module for PHP
ii  php7.0-mbstring                                  7.0.16-3                          amd64        MBSTRING module for PHP
ii  php7.0-mysql                                     7.0.16-3                          amd64        MySQL module for PHP
ii  php7.0-opcache                                   7.0.16-3                          amd64        Zend OpCache module for PHP
ii  php7.0-readline                                  7.0.16-3                          amd64        readline module for PHP
ii  php7.0-xml                                       7.0.16-3                          amd64        DOM, SimpleXML, WDDX, XML, and XSL module for PHP
ii  phpmyadmin                                       4:4.6.6-4                         all          MySQL web administration tool
« Last Edit: 2017/04/20, 19:44:45 by harley-peter »

Offline bluelupo

  • User
  • Posts: 2.068
    • BluelupoMe
Re: mysqli fehlt
« Reply #1 on: 2017/04/19, 17:14:19 »
Hi Peter,

die Meldung sollte eigentlich nicht kommen, denn msqli sollte in den Paketen php7.[0,1]-mysql enthalten sein.
Was für eine Fehlermeldung kommt denn genau?

Code: [Select]
$ apt-cache search mysqli                                                                                 
php7.0-mysql - MySQL-Modul für PHP
php7.1-mysql - MySQL-Modul für PHP
mysql-utilities - collection of scripts for managing MySQL servers
php-db - Database Abstraction Layer

$ apt-file list php7.1-mysql
php7.1-mysql: /usr/lib/php/20160303/mysqli.so
php7.1-mysql: /usr/lib/php/20160303/mysqlnd.so
php7.1-mysql: /usr/lib/php/20160303/pdo_mysql.so
php7.1-mysql: /usr/share/bug/php7.1-mysql/control
php7.1-mysql: /usr/share/bug/php7.1-mysql/script
php7.1-mysql: /usr/share/doc/php7.1-mysql
php7.1-mysql: /usr/share/lintian/overrides/php7.1-mysql
php7.1-mysql: /usr/share/php7.1-mysql/mysql/mysqli.ini
php7.1-mysql: /usr/share/php7.1-mysql/mysql/mysqlnd.ini
php7.1-mysql: /usr/share/php7.1-mysql/mysql/pdo_mysql.ini

$ apt-file list php7.0-mysql
php7.0-mysql: /usr/lib/php/20151012/mysqli.so
php7.0-mysql: /usr/lib/php/20151012/mysqlnd.so
php7.0-mysql: /usr/lib/php/20151012/pdo_mysql.so
php7.0-mysql: /usr/share/bug/php7.0-mysql/control
php7.0-mysql: /usr/share/bug/php7.0-mysql/script
php7.0-mysql: /usr/share/doc/php7.0-mysql
php7.0-mysql: /usr/share/lintian/overrides/php7.0-mysql
php7.0-mysql: /usr/share/php7.0-mysql/mysql/mysqli.ini
php7.0-mysql: /usr/share/php7.0-mysql/mysql/mysqlnd.ini
php7.0-mysql: /usr/share/php7.0-mysql/mysql/pdo_mysql.ini

Offline harley-peter

  • User
  • Posts: 1.022
Re: mysqli fehlt
« Reply #2 on: 2017/04/19, 18:09:29 »
Hi Michael,

die Meldung ist relativ simpel:
Quote
Die Erweiterung mysqli fehlt. Bitte die PHP-Konfiguration überprüfen. Siehe unsere Dokumentation für mehr Informationen.

oder wenn ich was anderes aufrufe:
Quote
Database connection error (1): The MySQL adapter 'mysqli' is not available.Database connection error (1): The MySQL adapter 'mysqli' is not available.

Vielleicht sollte ich php mal komplett eliminieren und neu installieren.

Offline melmarker

  • User
  • Posts: 2.799
    • g-com.eu
Re: mysqli fehlt
« Reply #3 on: 2017/04/20, 01:34:02 »
vielleicht hilft ja die einfache installation des richtigen pakets php*-mysqlnd passend zur laufenden php-Version. ich hab gehört, das soll helfen. erm - um genauer zu sein - das sollte zur Version des fpm-pakets passen, aber damit renn ich ja wahrscheinlich offene Türen ein.
Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety. (Benjamin Franklin, November 11, 1755)
Never attribute to malice that which can be adequately explained by stupidity. (Hanlons razor)

Offline harley-peter

  • User
  • Posts: 1.022
Re: mysqli fehlt
« Reply #4 on: 2017/04/20, 17:13:10 »
@melmarker:
Da habe ich als dummer Nutzer mal eine grundsätzliche Frage: bei mir ist sowohl php5-fpm als auch php7.0-fpm installiert warum auch immer. Werden beide benötigt? (z. B. wegen Kompatibilitätsproblemen)
Für php7.0 gibt es laut apt search kein Paket mit Namen php7.0-mysqlnd und das für php5 lässt sich nicht installieren weil die Versionsnummer nicht zu php5-common passt (siehe meinen ersten post). Also was tun?

Offline melmarker

  • User
  • Posts: 2.799
    • g-com.eu
Re: mysqli fehlt
« Reply #5 on: 2017/04/20, 17:50:04 »
* aptitude search php7 | grep mysql
*  aptitude search php | grep fpm | grep -v i386

Nur als Anmerkung, die PHP-Situtation in debian ist recht bescheiden, obwohl der Maintainer (Ondrey S.) wirklich nen richtig tollen Job macht. PHP 5 brauchst Du nur noch, wenn Du wirklich Applikationen hast, die zwingend PHP 5  benötigen - normalerweise heisst das  in hohem Bogen in die Tonne damit. Zwischen PHP 7.0 und 7.1 kannst Du eventuell auch nicht ganz frei wählen, das kommt wirklich auf die benötigten PHP-Pakete an. php7.*-mysql hat als provide pdo und nd. Ich glaub, mit meinem Kram bin ich aufgrund der Nichtverfügbarkeit von ein paar benötigten Sachen bei 7.0 geblieben.

Anmerkung zu nginx - sach mal, willst Du Dir das wirklich antun, ich bin mit der kompletten Siduction-Installation zurück zum Indianer gegangen, ist wesentlich stressfreier. Grade wenn man etwas ungewöhnlichere Installationen damit vor hat. Und für nen lokalen Zugriff auf mysql per php würd ich den Indiander mit php7.0-fpm nehmen, da ist die Einbindung des FastProcessMangers mit der Aktivierung von 2 oder 3 Modulen erledigt  - und einer Zeile im Virtual-Host. Wobei ich bei ner lokalen Installation auch wirklich ernsthaft darüber nachdenken würde, mir auch dieses Geraffel zu sparen und gleich mod-php zu nehmen :D

Und noch einen zu nginx - der hatte für uns (und auch für mich auf kleinen Maschinen eine echte Daseinsberechtigung, weil der Apache < 2.4 einfach nur klobig, hässlich, langsam und alles andere war. Mit > 2.4 hat sich das wenigstens teilweise geändert, der ist auch auf kleinen Maschinen recht entspannt zu konfigurieren. Und das Beten und Patchen und wegen jedem Mist neu bauen fällt wech.
« Last Edit: 2017/04/20, 17:57:20 by melmarker »
Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety. (Benjamin Franklin, November 11, 1755)
Never attribute to malice that which can be adequately explained by stupidity. (Hanlons razor)

Offline harley-peter

  • User
  • Posts: 1.022
Re: mysqli fehlt
« Reply #6 on: 2017/04/20, 19:44:13 »
@melmarker:

Danke für die ausführlichen Hinweise und Tips. Habe php5 mitsamt nginx entsorgt und den Indianer installiert und das Problem ist weg. Es hat also anscheinend tatsächlich an nginx gelegen.

Offline melmarker

  • User
  • Posts: 2.799
    • g-com.eu
Re: [gelöst] mysqli fehlt
« Reply #7 on: 2017/04/20, 20:00:08 »
Nö, nginx ist nicht schuld, der folgt nur seiner eigenen Philosophie - und die ist nicht ganz einfach zu verstehen - die ist also im Handling fast aller Sachen wesentlich anders als der Indianer. Und die Dokumentation versteht man manchmal wahrscheinlich wirklich nur, wenn man selbst an dem Ding entwickelt. Ansonsten ist nginx vom Fachlichen sehr abgehoben und stellt Anforderungen an das Verständnis seiner inneren Wirkungsweise, denen ich nicht mehr nachkommen will. Dafür ist das Teil aber auch recht geil zu konfigurieren, wenn man es denn kann - und vor allem, wenn man wirklichen Bedarf daran hat. Anders: Wenn Deine einzige Chance, ein Problem zu bewältigen, nginx heisst, dann hast Du ein Riesenproblem und voll in die braune Masse gegriffen. Dann hilft auch kein Wimmern mehr, dann musst Du da durch - für alle anderen Probleme gibt es Software, die sich mit wesentlich weniger Aufwand installieren und warten lässt 8)
Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety. (Benjamin Franklin, November 11, 1755)
Never attribute to malice that which can be adequately explained by stupidity. (Hanlons razor)