diff options
author | Jelle Licht <jlicht@fsfe.org> | 2020-05-25 20:58:46 +0200 |
---|---|---|
committer | Jelle Licht <jlicht@fsfe.org> | 2020-09-10 09:46:03 +0200 |
commit | bba0533115df9a31b696ee3782c8054174b955b1 (patch) | |
tree | 423a7e89d5bdc737120eecd8e005466a17dad856 | |
parent | cafbc5f39084cff62879206d69a3890fce54dc27 (diff) | |
download | guix-bba0533115df9a31b696ee3782c8054174b955b1.tar guix-bba0533115df9a31b696ee3782c8054174b955b1.tar.gz |
services: php-fpm: Add 'php-ini-file' configuration.
* gnu/services/web.scm: (<php-fpm-configuration>)[php-ini-file]: New record field.
(php-fpm-shepherd-service): Use it.
* doc/guix.texi (Web Services): Document it.
-rw-r--r-- | doc/guix.texi | 25 | ||||
-rw-r--r-- | gnu/services/web.scm | 10 |
2 files changed, 33 insertions, 2 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index cfd90471f7..bad2d36e42 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -22191,6 +22191,31 @@ Can be set to @code{#f} to disable logging. @item @code{file} (default @code{#f}) An optional override of the whole configuration. You can use the @code{mixed-text-file} function or an absolute filepath for it. +@item @code{php-ini-file} (default @code{#f}) +An optional override of the default php settings. +It may be any ``file-like'' object (@pxref{G-Expressions, file-like objects}). +You can use the @code{mixed-text-file} function or an absolute filepath for it. + +For local development it is useful to set a higher timeout and memory +limit for spawned php processes. This be accomplished with the +following operating system configuration snippet: +@lisp +(define %local-php-ini + (plain-file "php.ini" + "memory_limit = 2G +max_execution_time = 1800")) + +(operating-system + ;; @dots{} + (services (cons (service php-fpm-service-type + (php-fpm-configuration + (php-ini-file %local-php-ini))) + %base-services))) +@end lisp + +Consult the @url{https://www.php.net/manual/en/ini.core.php,core php.ini +directives} for comprehensive documentation on the acceptable +@file{php.ini} directives. @end table @end deftp diff --git a/gnu/services/web.scm b/gnu/services/web.scm index d11a1c0545..c8ffc19d83 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -152,6 +152,7 @@ php-fpm-configuration-timezone php-fpm-configuration-workers-log-file php-fpm-configuration-file + php-fpm-configuration-php-ini-file php-fpm-dynamic-process-manager-configuration make-php-fpm-dynamic-process-manager-configuration @@ -856,6 +857,8 @@ of index files." (version-major (package-version php)) "-fpm.www.log"))) (file php-fpm-configuration-file ;#f | file-like + (default #f)) + (php-ini-file php-fpm-configuration-php-ini-file ;#f | file-like (default #f))) (define-record-type* <php-fpm-dynamic-process-manager-configuration> @@ -962,7 +965,7 @@ of index files." (match-lambda (($ <php-fpm-configuration> php socket user group socket-user socket-group pid-file log-file pm display-errors - timezone workers-log-file file) + timezone workers-log-file file php-ini-file) (list (shepherd-service (provision '(php-fpm)) (documentation "Run the php-fpm daemon.") @@ -973,7 +976,10 @@ of index files." #$(or file (default-php-fpm-config socket user group socket-user socket-group pid-file log-file - pm display-errors timezone workers-log-file))) + pm display-errors timezone workers-log-file)) + #$@(if php-ini-file + `("-c" ,php-ini-file) + '())) #:pid-file #$pid-file)) (stop #~(make-kill-destructor))))))) |