mirror of
https://github.com/geerlingguy/ansible-role-php.git
synced 2024-11-28 12:45:16 +01:00
Better order of README.
This commit is contained in:
parent
4c7dc8509e
commit
fa089f116b
68
README.md
68
README.md
@ -40,40 +40,6 @@ You will also need to override the default `php_packages` list and add `php-fpm`
|
||||
|
||||
This role does not manage fpm-specific www pool configuration (found in `/etc/php-fpm.d/www.conf` on RedHat/CentOS and `/etc/php5/fpm/pool.d/www.conf` on Debian/Ubuntu), but rather allows you to manage those files on your own. If you change that file, remember to notify the `restart php-fpm` handler so PHP picks up the new settings once in place. Settings like `pm.max_children` and other `pm.*` settings can have a dramatic impact on server performance, and should be tuned specifically for each application and server configuration.
|
||||
|
||||
### Installing from Source
|
||||
|
||||
If you need a specific version of PHP, or would like to test the latest (e.g. master) version of PHP, there's a good chance there's no suitable package already available in your platform's package manager. In these cases, you may choose to install PHP from source by compiling it directly.
|
||||
|
||||
Note that source compilation takes *much* longer than installing from packages (PHP HEAD takes 5+ minutes to compile on a modern quad-core computer, just as a point of reference).
|
||||
|
||||
php_install_from_source: false
|
||||
|
||||
Set this to `true` to install PHP from source instead of installing from packages.
|
||||
|
||||
php_source_version: "master"
|
||||
|
||||
The version of PHP to install from source (a git branch, tag, or commit hash).
|
||||
|
||||
php_source_clone_dir: "~/php-src"
|
||||
php_source_install_path: "/opt/php"
|
||||
|
||||
Location where source will be cloned and installed, respectively.
|
||||
|
||||
php_source_make_command: "make"
|
||||
|
||||
Set the `make` command to `make --jobs=X` where `X` is the number of cores present on the server where PHP is being compiled. Will speed up compilation times dramatically if you have multiple cores.
|
||||
|
||||
php_source_configure_command: >
|
||||
[...]
|
||||
|
||||
The `./configure` command that will build the Makefile to be used for PHP compilation. Add in all the options you need for your particular environment. Using a folded scalar (`>`) allows you to define the variable over multiple lines, which is extremely helpful for legibility and source control!
|
||||
|
||||
A few other notes/caveats for specific configurations:
|
||||
|
||||
- **Apache with `mpm_prefork`**: If you're using Apache with prefork as a webserver for PHP, you will need to make sure `apxs2` is available on your system (e.g. by installing `apache2-prefork-dev` in Ubuntu), and you will need to make sure the option `--with-apxs2` is defined in `php_source_configure_command`. Finally, you will need to make sure the `mpm_prefork` module is loaded instead of `mpm_worker` or `mpm_event`, and likely add a `phpX.conf` (where `X` is the major version of PHP) configuration file to the Apache module config folder with contents like [`php7.conf`](https://gist.github.com/geerlingguy/5ae5445f28e71264e8c1).
|
||||
- **Apache with `mpm_event` or `mpm_worker`**: If you're using Apache with event or worker as a webserver for PHP, you will need to compile PHP with FPM. Make sure the option `--enable-fpm` is defined in `php_source_configure_command`. You'll also need to make sure Apache's support for CGI and event is installed (e.g. by installing `apache2-mpm-event` and `libapache2-mod-fastcgi`) and the `mpm_event` module is loaded.
|
||||
- **Nginx**: If you're using Nginx as a webserver for PHP, you will need to compile PHP with FPM. Make sure the option `--enable-fpm` is defined in `php_source_configure_command`.
|
||||
|
||||
### php.ini settings
|
||||
|
||||
php_use_managed_ini: true
|
||||
@ -143,6 +109,40 @@ If you use APC, you will need to make sure APC is installed (it is installed by
|
||||
|
||||
You can also install APC via `pecl`, but it's simpler to manage the installation with the system's package manager.
|
||||
|
||||
### Installing from Source
|
||||
|
||||
If you need a specific version of PHP, or would like to test the latest (e.g. master) version of PHP, there's a good chance there's no suitable package already available in your platform's package manager. In these cases, you may choose to install PHP from source by compiling it directly.
|
||||
|
||||
Note that source compilation takes *much* longer than installing from packages (PHP HEAD takes 5+ minutes to compile on a modern quad-core computer, just as a point of reference).
|
||||
|
||||
php_install_from_source: false
|
||||
|
||||
Set this to `true` to install PHP from source instead of installing from packages.
|
||||
|
||||
php_source_version: "master"
|
||||
|
||||
The version of PHP to install from source (a git branch, tag, or commit hash).
|
||||
|
||||
php_source_clone_dir: "~/php-src"
|
||||
php_source_install_path: "/opt/php"
|
||||
|
||||
Location where source will be cloned and installed, respectively.
|
||||
|
||||
php_source_make_command: "make"
|
||||
|
||||
Set the `make` command to `make --jobs=X` where `X` is the number of cores present on the server where PHP is being compiled. Will speed up compilation times dramatically if you have multiple cores.
|
||||
|
||||
php_source_configure_command: >
|
||||
[...]
|
||||
|
||||
The `./configure` command that will build the Makefile to be used for PHP compilation. Add in all the options you need for your particular environment. Using a folded scalar (`>`) allows you to define the variable over multiple lines, which is extremely helpful for legibility and source control!
|
||||
|
||||
A few other notes/caveats for specific configurations:
|
||||
|
||||
- **Apache with `mpm_prefork`**: If you're using Apache with prefork as a webserver for PHP, you will need to make sure `apxs2` is available on your system (e.g. by installing `apache2-prefork-dev` in Ubuntu), and you will need to make sure the option `--with-apxs2` is defined in `php_source_configure_command`. Finally, you will need to make sure the `mpm_prefork` module is loaded instead of `mpm_worker` or `mpm_event`, and likely add a `phpX.conf` (where `X` is the major version of PHP) configuration file to the Apache module config folder with contents like [`php7.conf`](https://gist.github.com/geerlingguy/5ae5445f28e71264e8c1).
|
||||
- **Apache with `mpm_event` or `mpm_worker`**: If you're using Apache with event or worker as a webserver for PHP, you will need to compile PHP with FPM. Make sure the option `--enable-fpm` is defined in `php_source_configure_command`. You'll also need to make sure Apache's support for CGI and event is installed (e.g. by installing `apache2-mpm-event` and `libapache2-mod-fastcgi`) and the `mpm_event` module is loaded.
|
||||
- **Nginx**: If you're using Nginx as a webserver for PHP, you will need to compile PHP with FPM. Make sure the option `--enable-fpm` is defined in `php_source_configure_command`.
|
||||
|
||||
## Dependencies
|
||||
|
||||
None.
|
||||
|
Loading…
Reference in New Issue
Block a user