Switcher 5.0.5 Per_Site

  • Noticed recently don't have per_site php control any more..

    not sure when I messed this up.

    have several domain alias' as well as sub-domains - none of them show up in the switcher..

    only the Top Level Domain... all others end up using server default of 7.1 it appears...

    but I do have a few guesses and its been awhile..

    betting specifically when I updated the mysql to a higher version....

    MariaDB 10.3+ Update

    patched 1.5.3 version... guessing this is part of the issue...

    php currently adding via sury and have up to 8.1 showing in switcher working fine..


    wanted to verify per_site setting was correct...

    so ran..

    cd /var/www/imscp/engine/setup

    perl /var/www/imscp/engine/setup/imscp-reconfigure -dar php


    since all doku info sites are offline.. hoping that was right..

    site is setup as per_site..

    but get errors on front end update:

    Package::FrontEnd::_setupMasterAdmin: DBD::MariaDB::db do failed: Duplicate entry '10' for key 'user_id' at /var/www/imscp/engine/setup/../PerlLib/Package/FrontEnd.pm line 1641.


    Sites Offline \ Panel offline -

    Rebooted - Panel back online again -

    PHP Switcher still no go for other domains

    Sites not happy... (php sites all have 500 errors)




    Edited once, last by viper_iii ().

  • Got it going but not well...

    phpswitcher - deactivated - reactivated... seemed to help -

    was getting 503 errors some still present but unable to get php switcher to show per_site mode even though the panel is setup in per_site... think its a db issue now...

    ?!? maybe not... maybe just me!..;p

  • for me adding

    global $configLevel

    at line 414 in



    (or maybe move the $configLevel part in front of file)


    @@ -411,6 +411,7 @@



    customerHasFeature('php') or showNotFoundErrorPage();

    +global $configLevel;

    $configLevel = (new iMSCP_Config_Handler_File(

    iMSCP_Registry::get('config')['CONF_DIR'] . '/php/php.data'


  • I can confirm this.

    I don't know why (it's not a method/function) but it works :-))

    Maybe I find the reason - but I'll note it in the Diff-List for the paid plugins....