Forgive me for shameless advertising, Ubuntu Server deploy has joined the PHP7 branch, PHP7 Branch has integrated the PHP extension of the server installed, enabled, disabled.
git clone git checkout php7./php.sh install./php.sh install-ext imagick./php.sh install-ext redis./php.sh en redis./ php.sh Dis Imagick
Ubuntu Server deploy is a project that was developed using the Bash language, specifically for Ubuntu server's Tengie (Nginx) and PHP Environment installation deployment. It has been measured to be available for Docker (which is actually the source code that gets the project directly).
The Master branch is a deployment of PHP 5.
The PHP7 branch is a deployment of PHP 7.
The extended installation is currently supported only in the PHP7 branch and will be ported to the main branch in the future.
Because of the different PHP extensions, depending on the dev library, and because most of the extensions on PECL currently do not support PHP7, you need to gihub get the specific source code yourself. Therefore, a php_ext directory is provided, and the sh script stored in this directory corresponds to what the different extensions need to prepare for execution. Based on this script, you can completely get different source code to compile, for example, like php-memcached installation:
#!/usr/bin/env bashapt-get Install Libmemcached-dev-ygit clone CD php-memcachedgit checkout PHP7 # Remove PHP7 's branch code get_ source=1 # Declaration has been extended source code, no need to go to pecl library download config_args= "${config_args}--DISABLE-MEMCACHED-SASL" # Add specify additional Configure parameter # You can also specify specific configure commands Config_cmd
In addition to php.sh, the main uses are server.sh and tengine.sh.
Server.sh is mainly the various initialization of Ubuntu server. Tengine.sh is the deployment of Tengine.
All the service, server deployment parameters can be overloaded with the parameters in the user directory (I really do not like the parameters of the command line to toss). Executing server.sh, tengine.sh, and php.sh will load all scripts in the entire user directory.
Add an explanation of the Ubuntu server's system service management, using the sysv-rc-conf.
This project is designed to support multiple versions of PHP that coexist simultaneously. So PHP7 branch, all PHP-related services, scripts, all with the PHP7 prefix, such as: Php7-config,php7ize,php7-pecl, and so on, and PHP-FPM process, also changed to PHP7-FPM.
I have used this project myself to deploy more than 30 service environments, the state is more stable and practical.
A detailed introduction can be seen: