20-php-fpm.sh 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #######################################
  2. ### FPM MAIN
  3. #######################################
  4. container-file-auto-restore "/opt/docker/etc/php/fpm/php-fpm.conf"
  5. echo '' >> /opt/docker/etc/php/fpm/php-fpm.conf
  6. echo '; container env settings' >> /opt/docker/etc/php/fpm/php-fpm.conf
  7. echo '[global]' >> /opt/docker/etc/php/fpm/php-fpm.conf
  8. if [[ -n "${FPM_PROCESS_MAX+x}" ]]; then
  9. echo "process.max = ${FPM_PROCESS_MAX}" >> /opt/docker/etc/php/fpm/php-fpm.conf
  10. fi
  11. # General fpm main setting
  12. for ENV_VAR in $(envListVars "fpm\.global\."); do
  13. env_key=${ENV_VAR#fpm.global.}
  14. env_val=$(envGetValue "$ENV_VAR")
  15. echo "$env_key = ${env_val}" >> /opt/docker/etc/php/fpm/php-fpm.conf
  16. done
  17. #######################################
  18. ### FPM POOL
  19. #######################################
  20. container-file-auto-restore "/opt/docker/etc/php/fpm/pool.d/application.conf"
  21. echo '' >> /opt/docker/etc/php/fpm/pool.d/application.conf
  22. echo '; container env settings' >> /opt/docker/etc/php/fpm/pool.d/application.conf
  23. # General fpm pool setting
  24. for ENV_VAR in $(envListVars "fpm\.pool\."); do
  25. env_key=${ENV_VAR#fpm.pool.}
  26. env_val=$(envGetValue "$ENV_VAR")
  27. echo "$env_key = ${env_val}" >> /opt/docker/etc/php/fpm/pool.d/application.conf
  28. done
  29. if [[ -n "${FPM_PM_MAX_CHILDREN+x}" ]]; then
  30. echo "pm.max_children = ${FPM_PM_MAX_CHILDREN}" >> /opt/docker/etc/php/fpm/pool.d/application.conf
  31. fi
  32. if [[ -n "${FPM_PM_START_SERVERS+x}" ]]; then
  33. echo "pm.start_servers = ${FPM_PM_START_SERVERS}" >> /opt/docker/etc/php/fpm/pool.d/application.conf
  34. fi
  35. if [[ -n "${FPM_PM_MIN_SPARE_SERVERS+x}" ]]; then
  36. echo "pm.min_spare_servers = ${FPM_PM_MIN_SPARE_SERVERS}" >> /opt/docker/etc/php/fpm/pool.d/application.conf
  37. fi
  38. if [[ -n "${FPM_PM_MAX_SPARE_SERVERS+x}" ]]; then
  39. echo "pm.max_spare_servers = ${FPM_PM_MAX_SPARE_SERVERS}" >> /opt/docker/etc/php/fpm/pool.d/application.conf
  40. fi
  41. if [[ -n "${FPM_PROCESS_IDLE_TIMEOUT+x}" ]]; then
  42. echo "pm.process_idle_timeout = ${FPM_PROCESS_IDLE_TIMEOUT}" >> /opt/docker/etc/php/fpm/pool.d/application.conf
  43. fi
  44. if [[ -n "${FPM_MAX_REQUESTS+x}" ]]; then
  45. echo "pm.max_requests = ${FPM_MAX_REQUESTS}" >> /opt/docker/etc/php/fpm/pool.d/application.conf
  46. fi
  47. if [[ -n "${FPM_REQUEST_TERMINATE_TIMEOUT+x}" ]]; then
  48. echo "request_terminate_timeout = ${FPM_REQUEST_TERMINATE_TIMEOUT}" >> /opt/docker/etc/php/fpm/pool.d/application.conf
  49. fi
  50. if [[ -n "${FPM_RLIMIT_FILES+x}" ]]; then
  51. echo "rlimit_files = ${FPM_RLIMIT_FILES}" >> /opt/docker/etc/php/fpm/pool.d/application.conf
  52. fi
  53. if [[ -n "${FPM_RLIMIT_CORE+x}" ]]; then
  54. echo "rlimit_core = ${FPM_RLIMIT_CORE}" >> /opt/docker/etc/php/fpm/pool.d/application.conf
  55. fi
  56. # Workaround for official PHP images
  57. if [[ -n "${PHP_SENDMAIL_PATH+x}" ]]; then
  58. echo "php_admin_value[sendmail_path] = ${PHP_SENDMAIL_PATH}" >> /opt/docker/etc/php/fpm/pool.d/application.conf
  59. fi