Featured PhpSwitcher 5.0.5

Provides additional PHP versions for i-MSCP customers.

The PhpSwitcher plugin provides additional PHP versions for i-MSCP customers.


See the documentation for further details.


Plugin purchasing
Once connected on our forums, you can purchase this plugin at https://i-mscp.net/wcf/paid-subscription-list/


  • Version 5.0.5

    Version compatible with i-MSCP Serie ≥ 1.5.3


    CHANGELOG

    • Updated: php_compiler.pl script for use of PHP 7.1.33 (Closes #47)
    • Updated: php_compiler.pl script for use of PHP 7.2.24 (Closes #48)
    • Updated: php_compiler.pl script for use of PHP 7.3.11 (Closes #49)
  • Version 5.0.4

    Version compatible with i-MSCP Serie ≥ 1.5.3


    CHANGELOG

    • Fixed: Bad error handling in the Plugin::PhpSwitcher::_installDistributionPackages method (backend)
    • Fixed: Bad error handling in the Plugin::PhpSwitcher::_uninstallDistributionPackages method (backend)
    • Fixed: Domains' PHP versions are not reset-back to default PHP version when the plugin is being disabled (Closes #45)
    • Fixed: Don't trigger full reconfiguration of packaged PHP versions when they remain identical after the DPKG(1) post-invok tasks
    • Fixed: FPM - UDS for the default PHP version (for all domain using it) are not created when upgrading from version 4.0.3 bug (Closes #36)
    • Fixed: Pool configuration files (excepted www.conf) of all packaged PHP versions are removed on DPKG(1) post-invoke tasks (Closes #38)
    • Fixed: The GMP extension now uses autodetection; don't pass /usr to configure (PHP 7.4)
    • Fixed: Unknown iMSCP_Plugin_PhpSwitcher::loadConfig() method with i-MSCP plugin API >= 1.5.1
    • Fixed: Useless (unused) www.conf.default pool configuration file (compiled PHP versions)
    • Fixed: Weird behavior php_compiler.pl --register --packaged --packaged-only (Closes #43)
    • Fixed: When a PHP runtime dependency package cannot be installed, an error should be raised (Closes #42)
    • Fixed: When a requirement for a packaged PHP version is no longer meet after the DPKG(1) post-invoke - tasks, its deletion must be scheduled, and the PHP version of any site using it must be resetted to the default PHP version
    • Fixed: Wrong permissions set on the 50_psw_dpkg_post_invoke_tasks.pl listener file (Closes #46)
    • Refreshed: Patches for PHP 7.4.0RC4 (Closes #44)
    • Updated: php_compiler.pl script for use of PHP 7.4.0RC4 (Closes #44)
  • Version 5.0.3

    Version compatible with i-MSCP Serie ≥ 1.5.3


    CHANGELOG

    • Enhancement: Allow LOAD DATA SQL statement for all PHP versions - mysql and mysqli extensions - (Closes #40)
    • Fixed: Can't locate object method "daemonReload" via package "iMSCP::Provider::Service::Debian::Systemd (Closes #37)
    • Fixed: Pool configuration files of all PHP versions are removed on DPKG(1) post invoke tasks (Closes #38)
    • Fixed: The --runtime-dependencies option isn't taken into account when expected (php_compiler.pl script)
    • Refreshed: Patches for PHP 7.4.0RC3 (Closes #39)
    • Review: Generate default (master) php.ini file using php.ini templates (compiled PHP versions)
    • Updated: php_compiler.pl script for use of PHP 7.4.0RC3 (Closes #39)
  • Version 5.0.2

    Version compatible with i-MSCP Serie ≥ 1.5.3


    CHANGELOG

    • Fixed: Extra packages not installed with older pbuilder versions (Closes #30)
    • Fixed: General error: 1709 Index column size too large (Closes #26)
    • Fixed: Makefile: "recipe commences before first target" error when passing the --zts option to the php_compiler.pl script (Closes #32)
    • Fixed: PHP runtime dependencies not installed under Debian Jessie (Closes #33)
    • Fixed: PHP runtime dependencies not installed under Ubuntu Xenial Xerus (Closes #34)
  • Version 5.0.1

    Version compatible with i-MSCP Serie ≥ 1.5.3


    CHANGELOG

    • Fixed: An error occurred while setup of PHP build environment: need to specify operation before --basepath option (Closes #28)
    • Fixed: Bad request when trying to regenerate static PHP info file for a specific PHP version from the PhpSwitcher administration interface (Fcgid httpd server)
    • Fixed: Customer PHP Info lead to 404 page - Fcgid httpd server (Closes #29)
    • Fixed: Default PHP-FCGI binary path wrongly resetted: Wrong parameter name
    • Fixed: Wrong return value from the resetHttpServerSettings event listener
  • Version 5.0.0

    Version compatible with i-MSCP Serie ≥ 1.5.3


    CHANGELOG

    • Added: --no-chroot option (PHP compiler): Force historical behavior to configure and build of various PHP versions, that is, outside a chroot environment
    • Added: --no-static-paths option (PHP compiler) Don't create symlink for static access to various PHP binaries.
    • Added: --packaged option (PHP compiler): When used in conjunction with the --register option, favor registration of packaged PHP versions
    • Added: --packaged-only option (PHP compiler): When used in conjunction with the --packaged option, only consider the packaged PHP versions, regardless of their availability
    • Added: --register-only option (PHP compiler): When used in conjunction with the --register option, only consider the available PHP versions. Skip download, build and install of those which are not available
    • Added: --runtime-dependencies (PHP compiler): Install runtime dependencies for the involved PHP versions
    • Added: Listener file registering an event listener that listens on the beforeFrontEndDpkgPostInvokeTasks event to update the various packaged PHP versions when those are being updated by the sysadmin
    • Added: SSL 1.1.x compatibility patch for PHP 5.3, 5.4, 5.5
    • Added: Support for PHP 7.2, 7.3, 7.4.0RC2
    • Added: Unit tests for the PHP compiler and various PHP versions
    • Changed: PHP versions are now built in a chroot environment using cowbuilder(8), a pbuilder(8) wrapper for cowdancer. You can switch back to past behavior by passing the '--no-chroot' command line option to the PHP compiler but see the PHP compiler help output for the details and exceptions
    • Dropped: Builtin OpenSSL (no longer provided as a OpenSSL 1.1.x compatibility patch is now provided for older PHP versions)
    • Dropped: Support for i-MSCP < 1.5.3
    • Dropped: Support for PHP 4.4, 5.2
    • Dropped: Support for Ubuntu Trusty Thar (14.04)
    • Enhancement: Create symlinks for static access (Closes #24)
    • Enhancement: Both the build and the runtime PHP dependencies are now installed through Debian packages which are built by the PHP compiler. The build dependencies, are automatically removed
    • after the build process, unless they were manually installed by the sysadmin
    • Enhancement: Display runtime PHP info rather static PHP info when the httpd server is apache_php_fpm
    • Enhancement: Make it possible to register packaged PHP versions in the plugin using the PHP compiler
    • Enhancement: Make it possible to show PHP info of any PHP version through UI regardless of the selected PHP version for a given domain
    • Enhancement: Make it possible to edit PHP version through admin UI without having to disable it first
    • Enhancement: Make PHP info available for administrator interface
    • Fixed: Avoid to pollute the system with build dependencies
    • Fixed: Cannot register PHP versions from Ondřej Surý repositories due to restricted regexp for version matching
    • Fixed: Configuration failure - icu-config(1) has been deprecated in icu 63.1
    • Fixed: Configuration failure - xml2-config(1) no longer provided with latest libxml2-dev package from Ondřej Surý repository
    • Fixed: Forbid concurrent executions of the PHP compiler
    • Fixed: Prevent registration of PHP version(s) when the PhpSwitcher plugin is not activated, or when it is in error state
    • Fixed: SysVInit scripts named with dots are not removed due to a bug in i-MSCP core up-to version 1.5.3-2018120800, leading to orphans
    • Fixed: We must not manage (addition/deletion) configuration/services files for the packaged PHP versions as those are provided by the packages
    • Refreshed: Patches for PHP 5.3.29, 5.4.45, 5.5.38, 5.6.40, 7.0.33, 7.1.32
    • Removed: '--skip-builddeps' command line option from the PHP compiler
    • The PHP build dependencies are always installed/updated when the configure and build targets are involved
    • Review: Convert table from utf8 character set to utf8mb4 character set
    • Review: Convert table from utf8_unicode_ci collation to utf8mb4_unicode_ci collation
    • Review: Make use of bundled libtool for all compiled PHP versions
    • Synced: php.ini template files with upstream source
    • Updated: PHP compiler for PHP 5.6.40, 7.0.33, 7.1.32, 7.2.23, 7.3.10, 7.4.0RC2
  • Version 4.0.3

    Version compatible with i-MSCP Serie ≥ 1.4.x


    CHANGELOG

    • Updated: PHP compiler for use of new PHP versions (PHP: 5.6.32, 7.0.25, 7.1.11)
  • Version 4.0.2

    Version compatible with i-MSCP Serie ≥ 1.4.x


    CHANGELOG

    • Added: Missing diffstat section in patches (PHP: 7.0.24, 7.1.10)
    • Fixed: Configure failure: gmp.h header file not found: (PHP: 7.0, 7.1 -- i386 arch)
    • Refreshed: Patches (PHP: 7.0.24, 7.1.10)
    • Updated: PHP compiler for use of new PHP versions (PHP: 7.0.24, 7.1.10)
  • Version 4.0.1

    Version compatible with i-MSCP Serie ≥ 1.4.x


    CHANGELOG

    • Fixed: Login check must be done prior triggering action script starting events
    • Fixed: (eval): commit ineffective with AutoCommit enabled
    • Updated: PHP compiler for use of new PHP versions (PHP: 7.0.23, 7.1.9)
  • Version 4.0.0

    Version compatible with i-MSCP Serie ≥ 1.4.x


    CHANGELOG

    • Added: --keep-builddir command line option -- Allows to keep previous buildir (PHP compiler)
    • Added: Multiarch support for OpenSSL (PHP: 4.4)
    • Backported: Debian patches for OpenSSL 0.9.8/1.0.2 (OpenSSL: bundled)
    • Fixed: Build against shared OpenSSL (PHP: all versions)
    • Fixed: Dangling MySQL compatibility symlinks (MariaDB: MDEV-13455)
    • Fixed: libmysqlclient-dev package not provided by MariaDB 10.2 repository (Bdeps)
    • Fixed: Linking to wrong OpenSSL: Wrong rpath (PHP with bundled OpenSSL)
    • Fixed: PHP FTBFS with MariaDB 10.2: 'MYSQL {aka struct st_mysql}' has no member named 'reconnect' (PHP: all versions)
    • Fixed: PHP FTBFS with MariaDB 10.2: Several undeclared identifiers; mysql/mysql_version.h not included (PHP: all versions)
    • Fixed: PHP configure failure when building against static OpenSSL (PHP: 4.4, 5.2, 5.3, 5.4, 5.5)
    • Fixed: OpenSSL FTBFS on i386 arch (OpenSSL: bundled)
    • Fixed: Wrong OpenSSL linking: Missing rpath (OpenSSL: bundled)
    • Refreshed: OpenSSL 1.1.x compatibility patch (PHP: 5.6)
    • Review: Build OpenSSL with options: no-idea no-mdc2 no-rc5 no-zlib enable-tlsext no-ssl2 no-ssl3 (OpenSSL: bundled)
    • Review: Build OpenSSL with the enable-ec_nistp_64_gcc_128 option on amd64 arch (OpenSSL: bundled)
    • Review: Make use of short array syntax (PHP)
    • Review: Skip installation of database development files when they are not required (Bdeps)
    • Updated: OpenSSL 1.0.2 from version 1.0.2k to version 1.0.2l (OpenSSL: bundled)
    • Updated: PHP compiler for use of new PHP versions (PHP: 5.6.31, 7.0.22, 7.1.8)
    • Updated: Translation files