guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

branch master updated: services: php-fpm: Add 'php-ini-file' configurati


From: guix-commits
Subject: branch master updated: services: php-fpm: Add 'php-ini-file' configuration.
Date: Thu, 10 Sep 2020 03:47:16 -0400

This is an automated email from the git hooks/post-receive script.

jlicht pushed a commit to branch master
in repository guix.

The following commit(s) were added to refs/heads/master by this push:
     new bba0533  services: php-fpm: Add 'php-ini-file' configuration.
bba0533 is described below

commit bba0533115df9a31b696ee3782c8054174b955b1
Author: Jelle Licht <jlicht@fsfe.org>
AuthorDate: Mon May 25 20:58:46 2020 +0200

    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.
---
 doc/guix.texi        | 25 +++++++++++++++++++++++++
 gnu/services/web.scm | 10 ++++++++--
 2 files changed, 33 insertions(+), 2 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index cfd9047..bad2d36 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 d11a1c0..c8ffc19 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)))))))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]