Class mysqli not found ispconfig3

Discussion in 'HOWTO-Related Questions' started by greenman1, Nov 10, 2017.

  1. greenman1

    greenman1 New Member

    Hello.
    I have problem in ispconfig3.
    Apache error log
    Code:
    mod_fcgid: stderr: PHP Fatal error:  Class 'mysqli' not found in /usr/local/ispconfig/interface/lib/classes/db_mysql.inc.php on line 31
    Version php 7.
    Debian 9 stretch
    phpmyadmin works
    When go domain.com:8080 got Server XXX can not now handle this device
    In php.ini uncomented extension=php_mysqli.dll
     
  2. till

    till Super Moderator Staff Member ISPConfig Developer

    The php mysqli module is missing in the commandline php when you get this error. you can test this with a php file that contains the phpinfo() command. See also the perfect server tutorial for Debian 9 for the correct installation of the ispconfig prerequisites.
     
  3. greenman1

    greenman1 New Member

    I installed with perfect server tutorial for debian 9 and all works fine but yesterday i tried install another version php (5.6) and have many problems with it. Problems are gone but this error in ispconfig is too heavy for me :D
    Any idea what do i have to do to run this module with isp?
     
  4. greenman1

    greenman1 New Member

    Anyone?
    ISPconfig cron log
    Code:
    CET PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/php_mysqli.dll' - /usr/lib/php/20151012/php_mysqli.dll: cannot open shared object file: No such file or directory in Unknown on line 0
    I have 3 version php. 5.6 / 7.0 / 7.1
    Command
    Code:
    sudo phpenmod mysqli
    
    give me in terminal
    Code:
    WARNING: Module mysqli ini file doesn't exist under /etc/php/5.6/mods-available
    
    Why php 5.6?
     
  5. till

    till Super Moderator Staff Member ISPConfig Developer

    Probably you installed php 5.6 and made it the main PHP version of your system but you did not install the mysqli module for it. this issue is a general setup problem of your server and not an issue with ispconfig, probably you used an external Debian repo like dotdeb which mixed up the php versions? Or you updated your system from an older DEbian version and the php 5.6 was left from the prior Debian in release, in any case, you have to fix that so that the default PHP of your server is the one that ships with Debian 9 (PHP 7) and that it contains the mysqli extension.

    Check with:

    which php

    where the symlink of the php version points to and ensure that it points to the system php 7.
     
    greenman1 likes this.
  6. greenman1

    greenman1 New Member

    OK. I solved the problem. Thanks to you.
    I install php5.6-mbstring and enable it
    I install php5.6-mysql and enable it
    Restart apache
    ISPconfig run.

    I have one more question.
    Why in ISPconfig in sites sittings in PHP version i have "Default"?
    I must change php version to old but my script in subdomain have compatibility error.
    There are more possibilities to change it?
     
    Last edited: Nov 12, 2017
  7. Pierrot727

    Pierrot727 Member

  8. MarekTrzynski

    MarekTrzynski New Member

    can anyone help me i try tu get access to phpmyadmin, well i readed few post one this site and done some changes and now ispconfig panel stop working also the apache and php5.6 but websites are working

    apache2.service - LSB: Apache2 web server
    Loaded: loaded (/etc/init.d/apache2)
    Drop-In: /lib/systemd/system/apache2.service.d
    └─root@isp:/etc/apache2/sites-enabled# systemctl status php5-fpm.service
    ● php5-fpm.service - The PHP FastCGI Process Manager
    Loaded: loaded (/lib/systemd/system/php5-fpm.service; enabled)
    Active: failed (Result: exit-code) since śro 2019-05-01 12:19:59 CEST; 27s ago
    Process: 10051 ExecStart=/usr/sbin/php5-fpm --nodaemonize --fpm-config /etc/php5/fpm/php-fpm.conf (code=exited, status=78)
    Process: 10045 ExecStartPre=/usr/lib/php5/php5-fpm-checkconf (code=exited, status=0/SUCCESS)
    Main PID: 10051 (code=exited, status=78)

    maj 01 12:19:59 isp.xxxxxxx.pl php5-fpm[10051]: [01-May-2019 12:19:59] NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20131226/mysqlnd.so' - /usr/lib/php5/20131...known on line 0
    maj 01 12:19:59 isp.xxxxxxx.pl php5-fpm[10051]: [01-May-2019 12:19:59] ERROR: [pool web93] cannot get uid for user 'web93'
    maj 01 12:19:59 isp.xxxxxxx.pl php5-fpm[10051]: [01-May-2019 12:19:59] ERROR: FPM initialization failed
    maj 01 12:19:59 isp.xxxxxxx.pl systemd[1]: php5-fpm.service: main process exited, code=exited, status=78/n/a
    maj 01 12:19:59 isp.xxxxxxx.pl systemd[1]: Failed to start The PHP FastCGI Process Manager.
    maj 01 12:19:59 isp.xxxxxxx.pl systemd[1]: Unit php5-fpm.service entered failed state.
    Hint: Some lines were ellipsized, use -l to show in full.
    Active: inactive (dead)
     
  9. MarekTrzynski

    MarekTrzynski New Member

  10. till

    till Super Moderator Staff Member ISPConfig Developer

    The Linux user web93 is missing. But this cannot be related to the additional PHP version installation.
     
    Joseph88 likes this.
  11. nickdawhick

    nickdawhick New Member

    Joseph88 likes this.
  12. Joseph88

    Joseph88 New Member

    [QUOTE = "Pierrot727, post: 380256, membre: 154315"] Pour changer une version php par défaut:


    Le PHP par défaut du système d'exploitation doit rester à la version d'origine. Pour résoudre ce problème, exécutez ces commandes:

    update-alternatives --config php
    update-alternatives --config php-cgi
    Sous Debian 9: Choisissez PHP 7.0, sous Debian 8, choisissez PHP 5.6 dans la boîte de dialogue qui apparaît.

    [/CITATION]
    Salut à tous. Merci de partager cela avec nous, je le trouve vraiment intéressant! L'information est importante, merci de la partager. Cependant, une question me piège un peu, je voudrais l'exposer si c'est possible. Merci de ton retour.  Bonne chance à tous.
     
  13. Joseph88

    Joseph88 New Member

  14. till

    till Super Moderator Staff Member ISPConfig Developer

    The default version is always the version that ships with the operating system.
     
  15. ahrasis

    ahrasis Well-Known Member HowtoForge Supporter

    This one is easier for most users: https://www.howtoforge.com/tutorial...fig-3-from-debian-packages-on-debian-8-and-9/

    Officially ISPConfig supports only php version that is shipped with the OS version, so the best and preferred way is always to revert the system default back to it.

    That being said, you may attempt to modify the php version in your distro php conf file in install/dist/conf folder after you downloaded and extracted ISPConfig package. You should also check in your ISPConfig Panel > Server Config > Web > PHP Settings whether the settings are all correct as you wanted thereafter. There is no guarantee that this will work properly, so do remember that you are on your own if you choose this path.
     

Share This Page