PhpSwitcher: add APCU, Imagick and IONCUBE

  • my System :

    - Distribution: Debian | Release: 9.13 | Codename: wheezy
    - i-MSCP Version: i-MSCP 1.5.3| Build: 20181208 | Codename: Ennio Morricone
    - Plugins installed: ClamAV (v. 1.3.0), Mailgraph (v 1.1.1), OpenDKIM (v 2.0.0), SpamAssassin (v 2.0.1)
    - LetsEncrypt (v3.3.0), PhpSwitcher (v 5.0.5), RoundcubePlugins (v 2.0.2)YubiKeyAuth 1.1.0

  • Adding BETA Ioncube to PHP version umgewandelt in normal.

    my System :

    - Distribution: Debian | Release: 9.13 | Codename: wheezy
    - i-MSCP Version: i-MSCP 1.5.3| Build: 20181208 | Codename: Ennio Morricone
    - Plugins installed: ClamAV (v. 1.3.0), Mailgraph (v 1.1.1), OpenDKIM (v 2.0.0), SpamAssassin (v 2.0.1)
    - LetsEncrypt (v3.3.0), PhpSwitcher (v 5.0.5), RoundcubePlugins (v 2.0.2)YubiKeyAuth 1.1.0

  • Thx Speddy for the info! I switched 7.4 to normal mode but left the code if there is going to be another beta version. I also tried to compile 7.4.8 but it seems that this is not working. Mayber someone has a solution for that (part of the error message: --override-config is not set; not updating apt.conf Read the manpage for details.).


    Here is the new code:

    PHP 7.4.8 Error message - mayber someone can fix it:

    Edited 2 times, last by UncleSam ().

  • Thx Speddy for the info! I switched 7.4 to normal mode but left the code if there is going to be another beta version. I also tried to compile 7.4.8 but it seems that this is not working. Mayber someone has a solution for that (part of the error message: --override-config is not set; not updating apt.conf Read the manpage for details.).


    Here is the new code:

    PHP 7.4.8 Error message - mayber someone can fix it:



    So for me another error message appears.



    my System :

    - Distribution: Debian | Release: 9.13 | Codename: wheezy
    - i-MSCP Version: i-MSCP 1.5.3| Build: 20181208 | Codename: Ennio Morricone
    - Plugins installed: ClamAV (v. 1.3.0), Mailgraph (v 1.1.1), OpenDKIM (v 2.0.0), SpamAssassin (v 2.0.1)
    - LetsEncrypt (v3.3.0), PhpSwitcher (v 5.0.5), RoundcubePlugins (v 2.0.2)YubiKeyAuth 1.1.0

  • 09 Jul 2020

    PHP 7.4.8 Released!

    The PHP development team announces the immediate availability of PHP 7.4.8. This is a security release impacting the official Windows builds of PHP.

    For windows users running an official build, this release contains a patched version of libcurl addressing CVE-2020-8169.

    For all other consumers of PHP, this is a bug fix release.

    All PHP 7.4 users are encouraged to upgrade to this version.

    For source downloads of PHP 7.4.8 please visit our downloads page, Windows source and binaries can be found on windows.php.net/download/. The list of changes is recorded in the ChangeLog.

    09 Jul 2020

    PHP 7.2.32 Released!

    The PHP development team announces the immediate availability of PHP 7.2.32. This is a security release impacting the official Windows builds of PHP.

    For windows users running an official build, this release contains a patched version of libcurl addressing CVE-2020-8169.

    For all other consumers of PHP, this release is functionally identical to PHP 7.2.31 and no upgrade from that point release is necessary.

    For source downloads of PHP 7.2.32 please visit our downloads page, Windows source and binaries can be found on windows.php.net/download/. The list of changes is recorded in the ChangeLog.

    09 Jul 2020

    PHP 7.3.20 Released!

    The PHP development team announces the immediate availability of PHP 7.3.20. This is a security release impacting the official Windows builds of PHP.

    For windows users running an official build, this release contains a patched version of libcurl addressing CVE-2020-8169.

    For all other consumers of PHP, this is a bug fix release.

    All PHP 7.3 users are encouraged to upgrade to this version.

    For source downloads of PHP 7.3.20 please visit our downloads page, Windows source and binaries can be found on windows.php.net/download/. The list of changes is recorded in the ChangeLog.



    php.PNG




    Linux (32 bits) Includes ionCube 24 support tar.gz zip 10.4.1 2020-07-13 UPDATED
    Linux (64 bits) Includes ionCube 24 support tar.gz zip 10.4.1 2020-07-13 UPDATED

    my System :

    - Distribution: Debian | Release: 9.13 | Codename: wheezy
    - i-MSCP Version: i-MSCP 1.5.3| Build: 20181208 | Codename: Ennio Morricone
    - Plugins installed: ClamAV (v. 1.3.0), Mailgraph (v 1.1.1), OpenDKIM (v 2.0.0), SpamAssassin (v 2.0.1)
    - LetsEncrypt (v3.3.0), PhpSwitcher (v 5.0.5), RoundcubePlugins (v 2.0.2)YubiKeyAuth 1.1.0

  • I get the same error as Speddy

    Code
    1. [ERROR] main: An error occurred while executing MAKE(1) target(s) for PHP 7.4.8: dh_install: Compatibility levels before 9 are deprecated (level 7 in use)

    which can be ignored with an environment variable that force the use of Level 9 for DebHelper:

    To set this variable :

    export DH_COMPAT=9


    and to remove it, simply :

    unset DH_COMPAT



    Unfortunetely, there is some more errors on the way and the build keep failing, no solution so far.


    As PHP7.4.8 is mostly a security fix for Windows users, I'll not bother with it and will wait next release (maybe they did something wrong with this build for Linux users ^^)

  • Little addition :


    The error so, which is the patch is not applying... well, normal (see below)


    For this attempt, I set the DebHelper level to 9 (max is 12, but I didn't tested with)...


    Then, as this is working with PHP7.4.7 and no 7.4.8, I checked the changes in the "configure.ac" file, and... see by yourself:


    PHP 7.4.7:

    Code
    1. PHP_UNAME=`uname -a | xargs`
    2. AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[uname -a output])
    3. PHP_OS=`uname | xargs`


    PHP 7.4.8:

    Code
    1. UNAME=`uname -a | xargs`
    2. PHP_UNAME=${PHP_UNAME:-$UNAME}
    3. AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[uname -a output])
    4. PHP_OS=`uname | xargs`



    The patch file now :

    Code
    1. -PHP_UNAME=`uname -a | xargs`
    2. +PHP_UNAME=`uname | xargs`


    Well... they changed just this little line... why ? I don't know.


    So for me, two/tree solutions :

    1- We revert the change in the configure.ac file

    2- We remove or "correct" the patch from the list

    3- We manually edit the configure.ac file to reflect the "patch"



    Edit :

    Little info : We can simply "remove" the patch from the applicable list of patches too (comment in file : /var/www/imscp/gui/plugins/PhpSwitcher/PhpCompiler/patches/7.4/series)

    Whichever solution you apply, the build should be fine after that.

    pasted-from-clipboard.png





    Quick edit, two of the solutions you can use to build PHP 7.4.8 :


    Solution 1 - Edit the patch file


    By using your prefered editor, open the files : /var/www/imscp/gui/plugins/PhpSwitcher/PhpCompiler/patches/7.4/0029-php-5.4.9-fixheader.patch*

    (Yes, there is "two" files, one with a "~" at the end, don't know why, but it's there)


    This file should look like this :


    Save, then re-run the build process from PHP Switcher.


    /!\ I'm not an expert, and maybe this patch is not needed anymore.

    In fact, I don't know what will be the output of the "php_uname()" with this command passed in the config : PHP_UNAME=${PHP_UNAME:-$UNAME}

    This patch, if I'm not wrong, is to obfuscate the output of some PHP variables, here, to prevent the leak of the system information through this function "php_uname()" (so that it display only "Linux" and not the whole "uname -a" result).

    After I did compile with this modification, the "PHP_OS()" is empty, and "PHP_UNAME()" give the "full" details, so I don't know at the end...

    We may revert this configure.ac file as the version 7.4.7 to check if the result is different or not on the webserver after compilation, but no more time for today (idea would be to remove "UNAME" and "PHP_UNAME" lines, and then, add back the "old modified" "PHP_UNAME" line.


    Solution 2 - Disable this patch to apply

    Simply open this file : /var/www/imscp/gui/plugins/PhpSwitcher/PhpCompiler/patches/7.4/series

    Then, found the line where the patch is noted : "0029-php-5.4.9-fixheader.patch"

    Add a "#" at the start of the line, so that this patch will NOT be applied.


    Save the file then re-run the build process from PHP Switcher.



    For both solutions, if you get the error posted in the previous message, just set the system variable :

    To set this variable :

    export DH_COMPAT=9


    and to remove it, simply :

    unset DH_COMPAT

    Edited 5 times, last by Athar ().

  • Seems like php 7.4.7 is no longer able to be downloaded with default logic - updated how to change php versions with direct download url for php 7.4.7.


    (Solution for 7.4.8 from Athar is still not tested because I had no time for that at the moment.)

    Edited once, last by UncleSam ().

  • 23 Jul 2020

    PHP 8.0.0 Alpha 3 available for testing

    The PHP team is pleased to announce the second testing release of PHP 8.0.0, Alpha 3. This continues the PHP 8.0 release cycle, the rough outline of which is specified in the PHP Wiki.

    For source downloads of PHP 8.0.0 Alpha 3 please visit the download page.

    Please carefully test this version and report any issues found in the bug reporting system.

    Please DO NOT use this version in production, it is an early test version.

    For more information on the new features and other changes, you can read the NEWS file, or the UPGRADING file for a complete list of upgrading notes. These files can also be found in the release archive.

    The next release will be Beta 1, planned for Aug 06 2020.

    The signatures for the release can be found in the manifest or on the QA site.

    Thank you for helping us make PHP better.

    my System :

    - Distribution: Debian | Release: 9.13 | Codename: wheezy
    - i-MSCP Version: i-MSCP 1.5.3| Build: 20181208 | Codename: Ennio Morricone
    - Plugins installed: ClamAV (v. 1.3.0), Mailgraph (v 1.1.1), OpenDKIM (v 2.0.0), SpamAssassin (v 2.0.1)
    - LetsEncrypt (v3.3.0), PhpSwitcher (v 5.0.5), RoundcubePlugins (v 2.0.2)YubiKeyAuth 1.1.0

  • First of all thank you very much Athar ! I was able to compile it but only with step 2 (by commenting out the patch 0029). I did not need to set the environment variable. It also seems that it is compatible with this script. I updated the first post.