Posts by joximu

    "Missing separator" - the syntax in the Makefile (especially the whitespaces at the beginning of the line) is important...


    So I think it's a copy-paste error - it's the line with the skel.


    The first char is a "Tab" and then the "[ -f ext/ext_skel ] && mv ext/ext_skel ext/ext_skel.in" folows....


    But also read the warning of nuxwin... - I hope he'll provide some better patches...


    /Joximu

    Hi guys


    I digged a little bit and tried to use the "old" phpswitcher to also get PHP 7.2 and PHP7.3 into i-mscp. I did this on a vm and did not test the result in real life. If the PHP compilation was successful then it was ok for me...


    As always: there is NO SUPPORT.


    My system setting: Debian 9 (stretch), i-mscp 1.5.3 (2018120800) and phpswitcher 4.0.3 which has built-in PHP-FPM support for PHP 5.3-7.1.


    5.3, 5.4 and 5.5 are no problem - they where EOL before phpswitcher 4.0.3 was released.


    I'll write down the steps to install the other PHP versions.

    5.6 & 7.0 with the last releases (they are EOL since jan 2019)

    and from 7.1 with the last from in mid of august 2019...


    I always installed each version with "perl php_compiler.pl -f x.y" to always force the newest version. Today theese are:

    5.3.29, 5.4.45, 5.5.38, 5.6.40, 7.0.33, 7.1.31, 7.2.21, 7.3.8


    In the attachement there are new patches (5.6.40 from Debian, 7.1-7.3 from Ondřej Surý - from aug 7th 2019) - the folders have to be replaced by theese ones in

    /var/www/imscp/gui/plugins/PhpSwitcher/PhpCompiler


    5.6.40:

    on my system I had to create a symlink to get curl compiled in the last php 5.6 release:

    Code
    1. cd /usr/local/include
    2. sudo ln -s /usr/include/x86_64-linux-gnu/curl/

    and I took the newer patches from Debian - see the attachement...


    7.0.33: went through without changes...


    7.1.31 (same version as debian 9 default): see patches in attachment


    for 7.2 and 7.3 you need some changes in /var/www/imscp/gui/plugins/PhpSwitcher/PhpCompiler/php_compiler.pl:

    on line 54 extend the hash with versions - so it looks like this (the two lines with # new)

    Code
    1. my %MTTV = (
    2. '5.3' => '5.3.29', # End of life: 14 August 2014
    3. '5.4' => '5.4.45', # End of life: 3 September 2015
    4. '5.5' => '5.5.38', # End of life: 21 July 2016
    5. '5.6' => '5.6.32', # 5.6.40 EOL
    6. '7.0' => '7.0.25', # 7.0.33 EOL
    7. '7.1' => '7.1.11'
    8. ,'7.2' => '7.2.3' # new
    9. ,'7.3' => '7.3.3' # new
    10. );

    And in the Makefile (same folder) you also need to add some lines:

    on line 281 add theese two lines [ just after: 7.1_CONFIG := $(7.0_CONFIG) ]

    Code
    1. 7.2_CONFIG := $(7.0_CONFIG)
    2. 7.3_CONFIG := $(7.0_CONFIG)


    Also copy the two php7.2 & php7.3 folders with the patches into the folder....

    This should be ok for 7.2.21 to be compiled.


    For 7.3.8 another change in the Makefile is needed:

    The block on line 295 should look like this

    Code
    1. prepared: prepared-stamp
    2. prepared-stamp:
    3. [ -f ext/ext_skel ] && mv ext/ext_skel ext/ext_skel.in
    4. ./buildconf --force
    5. touch prepared-stamp

    (the line with "skel" changes!)


    And I had to install some packages - maybe they are already installed:

    Code
    1. apt-get install libpcre2-dev libpcre2-8-0 libpcre2-16-0 libpcre2-32-0 libpcre2-posix0 libzip-dev

    With this settings 7.3.8 was also fine and could be compiled and integrated into i-mscp.



    I hope you are able to install the newer php versions with this howto. Let me know if I have to add or correct some informations.


    Joximu

    I'm on a test vm... just for this new version....


    At least it looks much better now :-)


    After this try - I'll revert the vom back to the vanilla status and try again :-)



    I think it's a good time to test the main program while you're working on plugins - afterwards the bugs have to be fixed and hopefully we're getting nearer a release!

    Thanx I'll try...


    > BTW: This at least show how a little single change can break everything... 8o


    This has already been proven in many other projects... you don't need to prove again :-))