4 months 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?
Pinned Solution
4 months 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 overridesExample overrides
php.ini.d/web/overrides.ini
max_execution_time = 30php.ini.d/worker/overrides.ini
max_execution_time = 0Railway 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
4 months 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 • 4 months ago
4 months 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 overridesExample overrides
php.ini.d/web/overrides.ini
max_execution_time = 30php.ini.d/worker/overrides.ini
max_execution_time = 0Railway 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 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`
4 months ago
cool, thanks!
Status changed to Solved brody • 4 months 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 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`
4 months 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 • 4 months ago
Status changed to Solved lucasromanojf • 4 months ago
