Additional PHP versions compiler script for ISPConfig

Discussion in 'Tips/Tricks/Mods' started by SergiX44, Dec 8, 2016.

  1. SergiX44

    SergiX44 Member

    Got the first working version on Debian, Ubuntu and Centos. Test builds run on Travis: https://travis-ci.org/SergiX44/ISPC-PHPCompiler
    Build is passing on all platforms, there are some issues compiling php 5.6 on debian 9, some help is very appreciated!
     
    ahrasis likes this.
  2. Fastserv

    Fastserv New Member

    Hi,
    thank you for this great script. I just tested the new version on Debian Jessie and got this message:

    Saving to: âphp-compiler.shâ
    php-compiler.sh 100%[====================================================================================>] 15.65K --.-KB/s in 0.005s

    2018-01-05 09:45:06 (2.84 MB/s) - âphp-compiler.shâ saved [16028/16028]
    php-compiler.sh: line 73: /etc/os-release: No such file or directory
    Error detected in latest command, exiting...
     
  3. till

    till Super Moderator Staff Member ISPConfig Developer

    Which Linux distribution and version do you use? An /etc/os-release file should be there on any recent Linux, but maybe it does not exist on old ones.
     
  4. Fastserv

    Fastserv New Member

    As I wrote above ;-) Debian Jessie, and the file is present as symbolic link to usr/lib/os-release
     
    till likes this.
  5. till

    till Super Moderator Staff Member ISPConfig Developer

    Oh sorry, missed that info in your text :)
     
  6. SergiX44

    SergiX44 Member

    What happen if you run this command through the shell?
    Code:
    source /etc/os-release && echo $VERSION
    
    Should print something like this:
    [​IMG]
     
  7. Fastserv

    Fastserv New Member

    It gives me 8 (Jessie)
     
  8. chico11mbit

    chico11mbit Member

    Very nice script. Thank you very much for your work. I have a question. Is it possible, that i have to "service phpXXXX-fpm start" after the installation. Because only then the php-fpm is running.
     
  9. SergiX44

    SergiX44 Member

    This should no be necessary, because after first installation or upgrade, the fpm daemon is started or restarted. But you are free to manager the phpXX-fpm as you want. ;)
     
  10. chico11mbit

    chico11mbit Member

    At the end i got these errors with every php version. System is ubuntu 14.04LTS
    Code:
    insserv: warning: script 'K02lexx' missing LSB tags and overrides
    The script you are attempting to invoke has been converted to an Upstart
    job, but lsb-header is not supported for Upstart jobs.
    insserv: warning: script 'cron' missing LSB tags and overrides
    insserv: Default-Start undefined, assuming empty start runlevel(s) for script `cron'
    insserv: Default-Stop  undefined, assuming empty stop  runlevel(s) for script `cron'
    The script you are attempting to invoke has been converted to an Upstart
    job, but lsb-header is not supported for Upstart jobs.
    insserv: warning: script 'friendly-recovery' missing LSB tags and overrides
    insserv: Default-Start undefined, assuming empty start runlevel(s) for script `friendly-recovery'
    insserv: Default-Stop  undefined, assuming empty stop  runlevel(s) for script `friendly-recovery'
    The script you are attempting to invoke has been converted to an Upstart
    job, but lsb-header is not supported for Upstart jobs.
    insserv: warning: script 'plexmediaserver' missing LSB tags and overrides
    insserv: Default-Start undefined, assuming empty start runlevel(s) for script `plexmediaserver'
    insserv: Default-Stop  undefined, assuming empty stop  runlevel(s) for script `plexmediaserver'
    insserv: warning: script 'lexx' missing LSB tags and overrides
    php-compiler.sh: Zeile 391: systemctl: Befehl nicht gefunden
    php-compiler.sh: Zeile 392: systemctl: Befehl nicht gefunden
    php-compiler.sh: Zeile 396: systemctl: Befehl nicht gefunden
     
  11. SergiX44

    SergiX44 Member

    Don't know about the errors with "cron" or "plexmediaserver", seems that you have something wrong with your services.
     
  12. elmacus

    elmacus Active Member

    @SergiX44
    Any chance that you can add a uninstall option ? To get rid of old versions you dont need quick.
    Or atleast tell what folders and files needs to be deleted and systemd/init.d for FPM ?
     
    budgierless likes this.
  13. SergiX44

    SergiX44 Member

    The script doesn't mess up the system so much, the remove process it's quite easy and straightforward:
    1. Stop related services
    2. Remove the init.d script (in /etc/init.d/phpX-fpm, insserv remove etc)
    3. Remove the systemd service (in /lib/systemd/system/phpX-fpm.service, using systemctl remove, etc)
    4. Remove the symlink to the php binary (/usr/bin/phpX)
    5. And finally remove the installation folder (/opt/phpX)
     
    webguyz likes this.
  14. webguyz

    webguyz Active Member HowtoForge Supporter

    Hi,
    used your installer to install 7.1 on jessie system and it was working fine for months. I rebooted that server and all my websites using 7.1 gave me a 500 internal error. Checked the php71-fpm service and it was down and it said it could not find shared libraries libwebp.so.5. I searched for that library and it was not found. I did a wildcard search and found libwebp.so.6 and wondering if an unattended upgrade removed the libwebp.so.5 and it was not discovered until I rebooted the server?

    ------------------------------ error ----------------------------------------
    php71-fpm.service - The php71 FastCGI Process Manager
    Loaded: loaded (/lib/systemd/system/php71-fpm.service; enabled; vendor preset: enabled)
    Active: failed (Result: exit-code) since Mon 2019-02-18 11:28:24 CST; 19s ago
    Process: 8172 ExecStart=/opt/php71/sbin/php-fpm --nodaemonize --fpm-config /opt/php71/etc/php-fpm.conf (code=exited, status=127)
    Main PID: 8172 (code=exited, status=127)

    Feb 18 11:28:24 dotw660 systemd[1]: Started The php71 FastCGI Process Manager.
    Feb 18 11:28:24 dotw660 php-fpm[8172]: /opt/php71/sbin/php-fpm: error while loading shared libraries: libwebp.so.5: cannot open shared object file: No such file or directory
    Feb 18 11:28:24 dotw660 systemd[1]: php71-fpm.service: Main process exited, code=exited, status=127/n/a
    Feb 18 11:28:24 dotw660 systemd[1]: php71-fpm.service: Unit entered failed state.
    Feb 18 11:28:24 dotw660 systemd[1]: php71-fpm.service: Failed with result 'exit-code'.
    root@dotw660:~# ^C
    root@dotw660:~# find / -name "libwebp.so.5"
    root@dotw660:~# find / -name "libwebp.so."
    root@dotw660:~# find / -name "libwebp.so.*"
    /usr/lib/x86_64-linux-gnu/libwebp.so.6
    /usr/lib/x86_64-linux-gnu/libwebp.so.6.0.2
     
  15. webguyz

    webguyz Active Member HowtoForge Supporter

    Actually I found an in-place debian 8 to 9 upgrade was done about 2 weeks ago. I did restore a copy of them missing libwebp.so.5 from an older backup of that server and now 7.1 is working find again. Thanks!
     
  16. elmacus

    elmacus Active Member

  17. elmacus

    elmacus Active Member

    Debian 10 is now supported.
    After upgrade to Debian 10, all php versions does not work and give error 500, for both cgi and fpm. (probably something to do with libcurl3 in Debian 9 and libcurl4 in Debian 10, but not sure).
    Updating (recompile) the 7.1, 7.2 and 7.3 fixed that.
    But when trying to update/reinstall php7.0 (and 5.6) in Debian 10 i get:
    "Your current distro(debian10) not support this php version building (php70). Sorry..."
    Is there anything i can install to fix this or is it impossible by design ?
     
    Last edited: Sep 19, 2019
  18. Jesse Norell

    Jesse Norell Well-Known Member Staff Member Howtoforge Staff

    Use the precompiled php repo at sury.org; I just did a stretch->buster update yesterday, including php versions (5.6, 7.0, 7.1, 7.2, 7.3) without a single issue (well, none related to php, anyways :), the packages simply update along with the rest of the system.
     
    elmacus likes this.
  19. elmacus

    elmacus Active Member

    Thanks, i will try this, i choose apt any day versus self compile.
    I hope it will not break the stable repo PHP.
     
  20. Jesse Norell

    Jesse Norell Well-Known Member Staff Member Howtoforge Staff

    It won't, that repo is by the official debian package maintainer, I've never had any problems with it through distribution upgrades, etc.
     
    elmacus likes this.

Share This Page