mysqli missing

Discussion in 'Installation/Configuration' started by chief, Jan 22, 2024.

  1. chief

    chief Member HowtoForge Supporter

    ISPConfig 3.2.11p1 - Debain 12

    Hey
    Since the 18th jan 2024, i have had 12 jobs stacked and not completing, I have now investigated them and they all show updated to the
    Code:
    web_domain
    looks like letsencrypt isnt updating them.
    also looks like
    Code:
    mysqli
    is not there, i can do
    Code:
    apt update && apt -y upgrade
    it sees the internet gets updates, installs the updates etc..
    when i try a
    Code:
    ispconfig_update.sh --force
    it states
    Code:
    >> Update 
    Operating System: Debian 12.0 (Bookworm) or compatible
    PHP MySQLi Module is nmissing.
    and nmissing is in the terminal.
    I have tried
    Code:
    apt install mysqli
    it returns unable to locate package.
    default php version is 8.3
    ###
    Update
    Code:
     apt install php8.3-mysql
    to get it
    Code:
    Package php-mysqli is a virtual package provided by:
      php8.3-mysql 8.3.2-1+0~20240120.16+debian12~1.gbpb43448
    at this moment, the jobs are down to 7 - this is 1 minute after installing above
     
  2. chief

    chief Member HowtoForge Supporter

    confirmation on above, if you have not working ssl and backed up jobs stating web_domain, and you were trying to get ssl added etc.
    Verify with
    Code:
    https://www.sslshopper.com/ssl-checker.html#hostname=ispconfig.org
    that will state it has expired etc, look at
    Code:
    /var/log/ispconfig/acme.log
    look for recent domain and you may find "pending" or even missing dates where there should be entries at least trying to do it thing.
    check apt is updated, try
    Code:
    php -m | grep -i mysqli
    to check if it is installed and it should just display it below that line, if not then its missing and cannot update the database query.
    do
    Code:
    php -v
    to get your version of php, then
    Code:
    apt install php8.3-mysql
    when done, your system should chooch through jobs.
    If indeed that was the cause.

    dave
     
  3. till

    till Super Moderator Staff Member ISPConfig Developer

    Please see the "read before posting" post, your issue is covered there together with the correct solution, what you did as a workaround is not the correct way to solve it and will likely lead to further problems in future. So you should fix that as described in the post:

    https://forum.howtoforge.com/threads/please-read-before-posting.58408/

    The chapter is "Panel not showing up / server.sh error". You changed the default PHP version of your system or the sury repo changed it accidentally and you now have to set the correct default PHP version again.
     
  4. chief

    chief Member HowtoForge Supporter

    Hey till,
    I started following the guide. but my terminal stated when i tried step 1, the wget.. here it threw an error about my mysqli NOT installed, thats when i installed php8.3-mysql as it was installed on my other servers..
    was i wrong or right doing this? and what issues will happen?
    all my servers work, just the jobs updating lets encrypt didnt work and the cert was not generated
     
  5. till

    till Super Moderator Staff Member ISPConfig Developer

    You do not have to run the test script. Please just do what is described in the post https://forum.howtoforge.com/threads/please-read-before-posting.58408/ in the chapter "Panel not showing up / server.sh error" to fix this.

    Wrong. What you did is not the solution to the problem, you made a workaround which causes further problems. The right solution is to set the correct default PHP version as described in the read before posting post. You can leave the php8.3-mysql package installed as this does not matter anymore after you fixed the default PHP version.

    ISPConfig and other parts of your setup which depend on PHP might stop working partially.
     
  6. chief

    chief Member HowtoForge Supporter

    Hey Till,
    I think there is a misunderstanding..
    I run a multi sever setup
    What should be the default php version?, i have some servers running 8.3 out of the box.
    dave
     
  7. till

    till Super Moderator Staff Member ISPConfig Developer

    The default PHP version depends on the OS version that the server is running on. You use Debian 12, so the default PHP version is PHP 8.2, and that's described in the post I asked you to follow. It is defined by the Linux distribution and not ISPConfig and should not be altered. It does not matter if you run a single or multiserver system for this; the only thing that matters is which operating system version a specific server has, and the default version on that server must be correct. See the read before posting post to see which PHP version is the default for which OS version.

    Then these systems can not run ISPConfig as PHP 8.3 is not supported by ISPConfig as system PHP yet and there is no OS that is supported by ISPConfig that uses PHP 8.3 as default PHP version. You can use PHP 8.3 as an additional PHP version for websites, though, but not as system PHP.

    Btw. The whole error you posted above and the solution shows that this system was not using PHP 8.3 as system PHP before the error happened, the error shows that you missed setting the system PHP version explicitly, which then caused apt to accidentally replace system PHP with a incomplete installation of PHP 8.3, and the fix for this is described in the read before posting thread, which will also prevent this from happening in future.
     
    Last edited: Jan 25, 2024
  8. chief

    chief Member HowtoForge Supporter

    Just re checked and web01 was the only server on php8.3 for some reason.. who knew... now its 8.2
    thanks for info till
     
    ahrasis and till like this.
  9. ahrasis

    ahrasis Well-Known Member HowtoForge Supporter

    Multi php installation could be the reason, so always check to reset its system php back to default. The tutorial also mentioned this.
     

Share This Page