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

Share This Page