/php-7-debian

Install PHP 7 on Debian/Ubuntu

Primary LanguageShell

Install PHP 7 on Debian/Ubuntu

These are a set of bash scripts for building and running PHP 7 (CLI and FPM) on Debian based Linux distributions:

  • build.sh installs the necessary build dependencies and the latest development version of PHP with CLI and FPM server APIs (SAPI) from the latest PHP 7 branch of https://github.com/php/php-src

  • install.sh sets up PHP-FPM by moving configuration files into their correct locations in /usr/local/php7 and enables the php7-fpm service and adds it to the startup sequence.

Please note that these are very simple scripts that don't implement error checking or process validation.

Usage

cd /tmp
git clone https://github.com/hranicka/php-7-debian.git
cd php-7-debian
./build.sh

Install

sudo ./install.sh

Update only

sudo ./update.sh

About installation

The PHP-FPM can be operated using the php7-fpm init script:

Usage: /etc/init.d/php7-fpm {start|stop|status|restart|reload|force-reload}

While the FPM socket is available at:

127.0.0.1:9007

Executables (also CLI) are located at:

/usr/local/php7/bin/php
/usr/bin/php7

Configuration files

All PHP configuration files are stored under /usr/local/php7:

/usr/local/php7/lib/php.ini
/usr/local/php7/etc/php-fpm.conf
/usr/local/php7/etc/php-fpm.d/www.conf
/usr/local/php7/etc/conf.d/modules.ini

while the Debian init script is added to:

/etc/init.d/php7-fpm

Extensions

Note that most of the third-party PHP extensions are not yet compatible with PHP 7 and GoPHP7-ext (also on GitHub) is a project to help do that. Here is a list of PHP modules that are enabled by default in this build:

$ /usr/local/php7/bin/php -m
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dba
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
intl
json
libxml
mbstring
mcrypt
mhash
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
pspell
readline
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlwriter
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache

Installing Extensions

There are some extensions in extension directory.

You can install them simply with given scripts.

For example Memcached extension:

cd php-7-debian/extensions
./memcached-build.sh
sudo ./memcached-install.sh

After installation there is need to restart some services (fpm).

You can done it simply with another script:

cd ..
sudo ./update.sh

Credits