mirror of
https://github.com/geerlingguy/ansible-role-php.git
synced 2024-12-01 13:13:22 +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.
|
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.ini settings
|
||||||
|
|
||||||
php_use_managed_ini: true
|
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.
|
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
|
## Dependencies
|
||||||
|
|
||||||
None.
|
None.
|
||||||
|
Loading…
Reference in New Issue
Block a user