Problems when updating from 6.2.1 to 6.3.0

9

I couldn't update it like before:


1. Version 6.3.0 requires PHP 8.5; if you don't set it to that, it displays a message saying it must be >= 8.5. The wiki clearly states that it should be between 8.3 and 8.5.


2. When using PHP 8.5 and version 6.3.0, it doesn’t import the config.sys file from version 6.2.1, but if I delete everything, it lets me set everything up from scratch.


For now, I’ve rolled back to version 6.2.1.

Comments

  1. Re: Problems when updating from 6.2.1 to 6.3.0

    To 1: I'll check that. I suspect some lib & Composer issue.

    Fatal error: Uncaught RuntimeException: Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 8.5.0". You are running 8.3.32. in 
    /wiki/vendor/composer/platform_check.php:22 
    Stack trace: 
    #0 /wiki/vendor/composer/autoload_real.php(25): require() 
    #1 /wiki/vendor/autoload.php(22): ComposerAutoloaderInit7f441be9216e2654f71b92439ecde13e::getLoader() 
    #2 /wiki/class/init.php(46): require_once('/home/mb/git/Wa...') 
    #3 /wiki/index.php(10): {closure}('Settings') 
    #4 {main} thrown in /wiki/vendor/composer/platform_check.php on line 22		


    The issue is not with your composer.json syntax (“php” : “8.3 – 8.5” is valid), but with a mismatch between your server's PHP version and the generated vendor/composer/platform_check.php file.

    The Root Cause


    Your composer.json correctly allows PHP 8.3 to 8.5, and you are running 8.3.32, which should be compatible. However, the error indicates that the platform_check.php file (auto-generated by Composer in the vendor/ directory) was created on a machine running PHP 8.5+ (or has locked dependencies that require 8.5).

    This file enforces the strictest PHP version required by any of your installed dependencies, not just your root composer.json.

    How to Fix It 

    1. Regenerate the Vendor Directory (Recommended)

    The vendor folder likely contains a platform_check.php generated with incorrect constraints. You must rebuild it using your current PHP version (8.3.32).

    Run these commands in your project root:
    BASH
    # Remove the existing vendor folder and lock file
    rm -rf src/vendor composer.lock
    
    # Re-install dependencies using your current PHP 8.3.32
    composer install
    

    Note: Your composer.json specifies “vendor-dir”: «src/vendor”, so ensure you delete the correct folder.

    2. Check for Conflicting Dependencies

    If composer install fails, one of your dependencies might strictly require PHP 8.5. Run:
    BASH
    composer why-not php 8.3.32
    

    This will list which package is blocking PHP 8.3. If a dependency like phiki/phiki or phpmailer/phpmailer has updated to require 8.5, you may need to constrain that specific package to an older version in your composer.json.

    composer why-not php 8.3.32
    Package "php 8.3.32" found in version "8.3.32".
    wackowiki/htmlsax3 4.1.3 requires php (^8.5)		


    Well, well, well – guess I forgot to set it back to PHP 8.3 – let me check. This is my first release with Composer, stay with me.

    Summary

    Your composer.json is correct. The error exists because the vendor directory was likely built on a different machine with a higher PHP version requirement locked in. Deleting src/vendor and composer.lock and running composer install on your 8.3.32 server will resolve the issue.

    FIXED with 8bc3f0d



    To 2: I could upgrade all my wikis – that's odd.

    Testing is good – I sorting out issue after issue, this is a huge update.
    I add a Caveats section in the release notes. Lets debug this.
    • WikiAdmin
    • 07/22/2026 20:19 edited
  2. Re: Problems when updating from 6.2.1 to 6.3.0

    Yes, I read the notice you left, but I still wanted to try it out to see if something wasn't working and let you know. ;)

    The installer shows a 500 error when copying the config.php file from version 6.2.1, and I didn’t notice the PHP error log being created, so I have no idea what’s actually causing the failure; however, if I leave it blank, it works, although you have to reconfigure everything from scratch. :(
  3. Re: Problems when updating from 6.2.1 to 6.3.0

    Issue 1 is fixed.

    Now issue 2: a 500 error points to a fatal error. If you turn on error reporting in constants.php we could know what it is.

    What is it? A file permission issue, an array merging issue or something else?
  4. Re: Problems when updating from 6.2.1 to 6.3.0

    It's not a permissions issue in the config.php file; it has 777 permissions for this case.

    Now I see the mistake:
    [22-Jul-2026 19:33:32 UTC] PHP Fatal error:  Uncaught Error: Undefined constant "MYSQLI_REPORT_OFF" in /wiki/class/dbmysqli.php:19
    Stack trace:
    #0 /wiki/class/dbal.php(29): DbMysqli->__construct(Object(Settings))
    #1 /wiki/class/settings.php(58): Dbal->__construct()
    #2 /wiki/index.php(10): Settings->__construct()
    #3 {main}
      thrown in /wiki/class/dbmysqli.php on line 19		
    • ascrsoft
    • 07/22/2026 20:13 edited
  5. Re: Problems when updating from 6.2.1 to 6.3.0

    The error Undefined constant “MYSQLI_REPORT_OFF” typically occurs when the MySQLi extension is not installed or enabled in your PHP environment. Without the MySQLi extension, PHP does not recognize MySQLi-specific constants like MYSQLI_REPORT_OFF, MYSQLI_REPORT_ERROR, or MYSQLI_REPORT_STRICT.

    Cause
    The MySQLi extension is missing or disabled in your php.ini configuration.

    There is a similar issue with SQLite:
    Fatal error: Uncaught Error: Call to undefined method PDO::sqliteCreateFunction() in /wiki/class/dbpdo.php:57 
    Stack trace: 
    #0 /wiki/class/dbal.php(28): DbPDO->__construct(Object(Settings)) 
    #1 /wiki/class/settings.php(139): Dbal->__construct() 
    #2 /wiki/index.php(7): Settings->__construct() 
    #3 {main} thrown in /wiki/class/dbpdo.php on line 57		


    We should contain both cases with a try and catch, showing the user what went wrong, e.g.
    The MySQLi extension is missing or disabled.
    • WikiAdmin
    • 07/22/2026 20:14 edited
  6. Re: Problems when updating from 6.2.1 to 6.3.0

    Yes, MySQLi is indeed missing from PHP 8.5; according to support, my web host doesn't have it yet because of the Linux distribution they use.

    So I'll hope that PHP 8.5—which is the latest version—isn't required. :)
  7. Re: Problems when updating from 6.2.1 to 6.3.0

    Thanks, I downloaded it again and now it works fine with PHP 8.4. :)

    Is dark mode always enabled by default for users who aren't logged in? It kind of feels like there's a “day/night” button missing so you can easily switch between dark and light modes.

    One more thing—there’s a small issue with the dark CSS.
    CSS
    .nav-chapter {
      background-color: rgb(241, 241, 241);
      padding: 10px;
    }
    

    That’s it for now. Thanks for the help.
    • ascrsoft
    • 07/22/2026 22:29 edited
  8. Re: Problems when updating from 6.2.1 to 6.3.0

    The global option to set dark mode as default is still missing. I'll add it on the next occasion.

    A global switch for guests is missing too. I was too occupied with rewriting and testing the new JavaScript code base.

    There are at least a thousand details to improve the dark mode and WikiEdit. Post whatever you find. Over time it sums up. There are moments I'm just exhausted. There is more in the pipeline like an improved MD <-> Wacko converter and a copy button for every page and comment.
Log in or create an account to post a comment.