Different php.ini files (different services, same repo)
lucasromanojf
PROOP

23 days ago

Hello,

How do I set different php.ini files for different services using the same repo?

In our case, we have Laravel apps and we would like to set different max execution times for web and worker/scheduler services.

Is there any variable we can set to point to the ini file path?

Solved$10 Bounty

Pinned Solution

lu4p
FREETop 5% Contributor

23 days ago

PHP can load additional .ini files from directories specified by PHP_INI_SCAN_DIR. This is an environment variable you can set per service. 

Repo layout

/php.ini                      # shared defaults
/php.ini.d/web/overrides.ini   # web-only overrides
/php.ini.d/worker/overrides.ini# worker-only overrides

Example overrides

php.ini.d/web/overrides.ini

max_execution_time = 30

php.ini.d/worker/overrides.ini

max_execution_time = 0

Railway settings (per service)

  • Web service env var:

    PHP_INI_SCAN_DIR=/app/php.ini.d/web

  • Worker/Scheduler service env var:

    PHP_INI_SCAN_DIR=/app/php.ini.d/worker

3 Replies

Railway
BOT

23 days ago

This thread has been marked as public for community involvement, as it does not contain any sensitive or personal information. Any further activity in this thread will be visible to everyone.

Status changed to Open Railway 23 days ago


lu4p
FREETop 5% Contributor

23 days ago

PHP can load additional .ini files from directories specified by PHP_INI_SCAN_DIR. This is an environment variable you can set per service. 

Repo layout

/php.ini                      # shared defaults
/php.ini.d/web/overrides.ini   # web-only overrides
/php.ini.d/worker/overrides.ini# worker-only overrides

Example overrides

php.ini.d/web/overrides.ini

max_execution_time = 30

php.ini.d/worker/overrides.ini

max_execution_time = 0

Railway settings (per service)

  • Web service env var:

    PHP_INI_SCAN_DIR=/app/php.ini.d/web

  • Worker/Scheduler service env var:

    PHP_INI_SCAN_DIR=/app/php.ini.d/worker


lu4p

PHP can load additional .ini files from directories specified by PHP_INI_SCAN_DIR. This is an environment variable you can set per service.Repo layout/php.ini # shared defaults /php.ini.d/web/overrides.ini # web-only overrides /php.ini.d/worker/overrides.ini# worker-only overridesExample overridesphp.ini.d/web/overrides.inimax_execution_time = 30php.ini.d/worker/overrides.inimax_execution_time = 0Railway settings (per service)Web service env var:PHP_INI_SCAN_DIR=/app/php.ini.d/webWorker/Scheduler service env var:PHP_INI_SCAN_DIR=/app/php.ini.d/worker

lucasromanojf
PROOP

23 days ago

cool, thanks!


Status changed to Solved brody 23 days ago


lu4p

PHP can load additional .ini files from directories specified by PHP_INI_SCAN_DIR. This is an environment variable you can set per service.Repo layout/php.ini # shared defaults /php.ini.d/web/overrides.ini # web-only overrides /php.ini.d/worker/overrides.ini# worker-only overridesExample overridesphp.ini.d/web/overrides.inimax_execution_time = 30php.ini.d/worker/overrides.inimax_execution_time = 0Railway settings (per service)Web service env var:PHP_INI_SCAN_DIR=/app/php.ini.d/webWorker/Scheduler service env var:PHP_INI_SCAN_DIR=/app/php.ini.d/worker

lucasromanojf
PROOP

22 days ago

It worked but I had to change a bit:

Web service env var:

PHP_INI_SCAN_DIR=:/app/php.ini.d/web

Worker/Scheduler service env var:

PHP_INI_SCAN_DIR=:/app/php.ini.d/worker

(notice the “:” before the “/app…”


Status changed to Awaiting Railway Response Railway 22 days ago


Status changed to Solved lucasromanojf 22 days ago


Loading...