All Projects β†’ shivammathur β†’ php-builder

shivammathur / php-builder

Licence: MIT license
🐘 Build PHP 8.0 and newer

Programming Languages

shell
77523 projects
Roff
2310 projects

Projects that are alternatives of or similar to php-builder

first-steps-and-hardening-in-ubuntu-server-and-docker
First Steps in Ubuntu (Server) / Hardening and Config With Docker
Stars: ✭ 28 (-50.88%)
Mutual labels:  ubuntu1804, ubuntu2004
laravel-soap
Laravel Soap Client
Stars: ✭ 140 (+145.61%)
Mutual labels:  php8
Nutgram
The Telegram bot framework that doesn't drive you nuts.
Stars: ✭ 206 (+261.4%)
Mutual labels:  php8
session
Aplus Framework Session Library
Stars: ✭ 170 (+198.25%)
Mutual labels:  php8
docker-lemp
A single container LEMP complete fullstack with latest release of PHP7.4.33, 8.0.26 & 8.1.13/8.2RC and MySQL, nginx, PostgreSQL, phalcon, swoole, mailcatcher, beanstalkd, elasticsearch, memcached, redis, adminer and all you ever need; on top alpine3.15
Stars: ✭ 106 (+85.96%)
Mutual labels:  php8
amp-converter
A PHP library to convert HTML articles, blog posts or similar content to AMP (Accelerated Mobile Pages).
Stars: ✭ 59 (+3.51%)
Mutual labels:  php8
darknet
php ffi darknet
Stars: ✭ 21 (-63.16%)
Mutual labels:  php8
packer-ubuntu20.04
Packer vsphere-iso builder for Ubuntu-20.04
Stars: ✭ 25 (-56.14%)
Mutual labels:  ubuntu2004
nightly-docker-rebuild
Use nightli.es πŸŒ” to rebuild N docker πŸ‹ images πŸ“¦ on hub.docker.com
Stars: ✭ 13 (-77.19%)
Mutual labels:  nightly-build
Stratum-Panel
Stratum aims to be a scalable, reliable panel better than most solutions on the market made for selling virtual machines. It works by utilizing Proxmox's API to automatically manage/deploy virtual machines. Stratum is made in Laravel.
Stars: ✭ 26 (-54.39%)
Mutual labels:  php8
static-php-cli
Build single static PHP binary in linux, build with PHP project together, with Swoole and other popular extensions included.
Stars: ✭ 129 (+126.32%)
Mutual labels:  php8
docker-cgi-python
🐳Docker file for cgi using python2.7, 3.6, 3.7, 3.8, 3.9 and 3.10🐍
Stars: ✭ 13 (-77.19%)
Mutual labels:  ubuntu1804
pagination
Aplus Framework Pagination Library
Stars: ✭ 167 (+192.98%)
Mutual labels:  php8
spe
A series of PHP8 examples based around a super simple MVC framework (WIP)
Stars: ✭ 14 (-75.44%)
Mutual labels:  php8
FoxPHP
δΈ€δΈͺθ½»ι‡ηΊ§ηš„Nginx+PHP8ζœ¬εœ°εΌ€ε‘ηŽ―ε’ƒ
Stars: ✭ 8 (-85.96%)
Mutual labels:  php8
tailscale-ui
Tailscale UI for Ubuntu
Stars: ✭ 56 (-1.75%)
Mutual labels:  ubuntu2004
colab-ffmpeg-cuda
FFmpeg build with CUDA support for Linux (especially for Google Colab)
Stars: ✭ 40 (-29.82%)
Mutual labels:  ubuntu1804
dofbot-jetson nano
Yahboom DOFBOT AI Vision Robotic Arm with ROS for Jetson NANO 4GB B01
Stars: ✭ 24 (-57.89%)
Mutual labels:  ubuntu2004
docker-nginx-php
Nginx PHP for Docker
Stars: ✭ 121 (+112.28%)
Mutual labels:  php8
routing
Aplus Framework Routing Library
Stars: ✭ 186 (+226.32%)
Mutual labels:  php8

PHP Builder

Build status LICENSE PHP Versions Supported

  • This projects builds PHP 8.0 and above (including a nightly build from the master branch of PHP) on Ubuntu and Debian.
  • To install PHP, follow the instructions in the install section.
  • To download a PHP build, refer to the builds section.

Contents

OS Support

  • Ubuntu 18.04 (Bionic) amd64
  • Ubuntu 20.04 (Focal) amd64
  • Ubuntu 22.04 (Jammy) amd64
  • Debian 10 (Buster) amd64
  • Debian 11 (Bullseye) amd64

All other distributions based on the above operating systems will also be supported on best effort basis.

Install

  • Fetch the installer:
curl -sSLO https://github.com/shivammathur/php-builder/releases/latest/download/install.sh
chmod a+x ./install.sh
  • Then, to install PHP 8.2:
./install.sh 8.2

or, to install PHP 8.1:

./install.sh 8.1
  • Finally, test your PHP version:
php -v

Notes:

  • All PHP versions have prefix /usr and the directory structure will be same as that of Debian builds.
  • Any pre-existing extensions INI configuration for the PHP version will be removed upon installation.
  • The installer will switch to the PHP version you installed.

Extensions

  • Expand to check the extensions installed along with PHP.

    amqp, apcu, ast, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, ds, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, intl, json, ldap, libxml, mbstring, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, odbc, openssl, pcntl, pcov, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_ODBC, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, Phar, posix, pspell, readline, redis, Reflection, session, shmop, SimpleXML, soap, sockets, sodium, SPL, sqlite3, sqlsrv, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, xdebug, xml, xmlreader, xmlwriter, xsl, zip, zlib, Xdebug, Zend OPcache

  • Extension PCOV is disabled by default as Xdebug is enabled.

  • You can switch to PCOV by disabling Xdebug using phpdismod and enabling it using phpenmod.

phpdismod -v <ALL|php-version> -s <ALL|sapi-name> xdebug
phpenmod -v <ALL|php-version> -s <ALL|sapi-name> pcov
  • More extensions can also be installed from ppa:ondrej/php

  • PECL is also installed along with PHP, so compatible extensions can also be installed using it. These will be enabled using the pecl.ini module which is linked to all SAPIs.

pecl install <extension>

JIT

PHP 8.0 and above versions have a JIT(Just-In-Time) compiler.

It is disabled by default, and can be enabled by the following steps:

  • First, disable Xdebug and PCOV as they are not compatible with JIT.
phpdismod -v <ALL|php-version> -s <ALL|sapi-name> xdebug pcov
  • Then enable JIT using the switch_jit script for the same PHP versions and SAPIs.
switch_jit -v <ALL|php-version> -s <ALL|sapi-name> enable -m <jit_mode> -b <jit_buffer_size>

If you do not specify -m or -b, the default for JIT mode is tracing, and for JIT buffer size it is 128M.

  • If you get a warning about incompatible extensions, check if you installed any other third-party extensions which are incompatible with JIT.

To disable JIT:

switch_jit -v <php-version> -s <ALL|sapi-name> disable

SAPI support

These SAPIs are installed by default:

  • apache2-handler
  • cli
  • cgi
  • embed
  • fpm
  • phpdbg

These SAPI:server configurations can be set up with the switch_sapi script:

  • apache:apache (apache2-handler with Apache)
  • fpm:apache (php-fpm with Apache)
  • cgi:apache (php-cgi with Apache)
  • fpm:nginx (php-fpm with Nginx)
switch_sapi -v <php-version> -s <sapi|sapi:server>

Note: When you run switch_sapi, the servers will have the default document root /var/www/html.

Builds

PHP 8.0

PHP 8.1

PHP 8.2.0-dev (PHP-8.2)

PHP 8.3.0-dev (master)

Uninstall

  • Fetch the installer:
curl -sSLO https://github.com/shivammathur/php-builder/releases/latest/download/install.sh
chmod a+x ./install.sh
  • Then, to remove PHP 8.2:
./install.sh --remove 8.2

or, to remove PHP 8.1:

./install.sh --remove 8.1

Related Projects

License

The scripts and documentation in this project are under the MIT license. This project has multiple dependencies. Their licenses can be found in their respective repositories.

Dependencies

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].