If a value in php.ini looks unchanged through an Nginx site, the usual cause is that you edited the CLI configuration instead of the PHP-FPM configuration, or a pool, FastCGI parameter, or application setting is overriding it. Nginx does not read php.ini or execute PHP itself: it forwards requests to PHP-FPM. Identify the FPM instance behind the active fastcgi_pass, inspect the configuration layers it loads, reload that exact service, and verify the result through a fresh HTTP request.
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
Why php.ini changes appear to do nothing
Nginx is the web server. PHP-FPM is the process that starts PHP workers, loads PHP configuration, and executes the script. A command such as php --ini reports the configuration used by the command-line SAPI; it does not prove which file an Nginx request uses. A server can have several PHP versions, each with separate CLI and FPM trees.
As an Amazon Associate I earn from qualifying purchases.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →The web request can therefore differ from the shell in four important ways:
- The CLI and FPM SAPIs load different
php.inifiles. - FPM scans additional
.inifiles after the main file. - An FPM pool can replace a global value with
php_valueorphp_admin_value. - Nginx can send
PHP_VALUEorPHP_ADMIN_VALUEas FastCGI parameters.
PHP-FPM uses php.ini syntax for its main configuration and pool files, as the PHP-FPM configuration manual states. A successful edit is not visible until the FPM workers that serve the request have reloaded it.
#1 Best Overall
- [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
- [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
- [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
- [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
- [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
1. Prove what the web request is actually loading
Do not start by guessing a path. Create a temporary diagnostic endpoint in the same virtual host and document root as the failing application:
<?php
header('Content-Type: text/plain');
echo 'SAPI: ' . PHP_SAPI . PHP_EOL;
echo 'PHP version: ' . PHP_VERSION . PHP_EOL;
echo 'Loaded php.ini: ' . (php_ini_loaded_file() ?: 'none') . PHP_EOL;
echo 'Scanned .ini files: ' . (php_ini_scanned_files() ?: 'none') . PHP_EOL;
echo 'memory_limit: ' . ini_get('memory_limit') . PHP_EOL;
echo 'upload_max_filesize: ' . ini_get('upload_max_filesize') . PHP_EOL;
?>
Replace the example directives with the value you are investigating. Request the endpoint over HTTP, preferably with a cache-busting query string, and record the output. Protect the file with your normal authentication or an IP restriction, do not expose secrets, and delete it immediately after the check. A public phpinfo() page can disclose paths, environment variables, and loaded modules, so it should not be left online.
Recommended Free Tools
Now run php --ini in a shell and compare its “Loaded Configuration File” and “Scan for additional .ini files” lines with the endpoint. A mismatch is normal when CLI PHP and FPM are separate installations or versions; the HTTP result is the one that matters for Nginx.
2. Trace Nginx to the PHP-FPM instance
The diagnostic output tells you what FPM loaded, but you still need to identify the service and pool that supplied it. Dump the active Nginx configuration, including files pulled in with include:
sudo nginx -T
Find the location block that handles the request and its fastcgi_pass directive. It may point to a Unix socket such as unix:/run/php/php8.3-fpm.sock or to a TCP endpoint such as 127.0.0.1:9000. The socket or port, not the package name you remember installing, determines which FPM instance receives the request.
Rank #2
- 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
- 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
- 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
- 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
- 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
Check that endpoint and the corresponding service. Service names vary by distribution and PHP version, so substitute the name matching your host:
sudo systemctl status php8.3-fpm
sudo systemctl list-units --type=service | grep -i fpm
sudo ss -lx | grep php
If Nginx points to a version-specific socket while you edit another version’s files, none of those edits can affect the request. The same problem occurs when a load balancer or a second virtual host sends the hostname to a different machine.
3. Inspect every FPM configuration layer
FPM reads a main configuration, a PHP configuration, additional scanned files, and one or more pool files. Locate the paths from the running service rather than assuming a distribution layout. Typical installations separate files under directories named for the PHP version and SAPI, but the exact locations differ.
Inspect all of these layers:
- FPM’s loaded
php.ini: use the path printed byphp_ini_loaded_file()in the HTTP diagnostic. - Additional
.inifiles: usephp_ini_scanned_files(); later files can redefine a directive. - The global
php-fpm.conf: check its pool include pattern and any global settings. - The selected pool file: inspect the pool named in the running FPM configuration, commonly a file such as
www.conf.
Search the complete FPM configuration tree for the directive, including both ordinary and administrative forms:
sudo grep -RIn --include='*.ini' --include='*.conf' 'memory_limit|upload_max_filesize|PHP_VALUE|PHP_ADMIN_VALUE' /etc/php /etc/php-fpm.d 2>/dev/null
Use the actual configuration roots on your system. The goal is to find duplicate definitions and determine which one is applied last or at the more specific scope.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Rank #3
- [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
- [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
- [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
- [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
- [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
The shipped FPM pool template explicitly notes that additional php.ini definitions for a pool “overwrite the values previously defined in the php.ini.” See the PHP-FPM pool configuration template. Thus, changing a global file will not win against a pool-level setting for the same directive.
4. Check Nginx FastCGI overrides
Search the active Nginx configuration and included snippets for PHP_VALUE and PHP_ADMIN_VALUE:
sudo nginx -T | grep -nE 'PHP_(ADMIN_)?VALUE|fastcgi_param'
The PHP manual demonstrates constructing a multiline value and passing it to FPM:
set $php_value 'pcre.backtrack_limit=424242';
set $php_value "$php_valuen pcre.recursion_limit=99999";
fastcgi_param PHP_VALUE $php_value;
fastcgi_param PHP_ADMIN_VALUE 'open_basedir=/var/www/htdocs';
These parameters are applied for requests handled by that Nginx context. An included snippet, a more specific location, or a different server block may be the one actually handling your hostname. The FPM documentation warns that these settings travel as FastCGI headers and says FPM should not be bound to a worldwide-accessible address, because someone able to send those headers could alter PHP configuration options.
5. Understand which layer can override the value
Not every directive can be changed at runtime, and not every configuration form has the same authority. The FPM pool template distinguishes the two pool directives:
Rank #4
- Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
- Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
- All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
- Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
- Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
php_valueandphp_flagset ordinary values that PHP code may override withini_set()when the directive permits runtime changes.php_admin_valueandphp_admin_flagcannot be overridden byini_set(). The template documents this behavior in the FPM pool configuration source.
Before choosing a fix, inspect the directive’s PHP_INI mode in the PHP version serving the site. A directive marked for system or per-directory configuration cannot be changed by application code, while a PHP_INI_ALL directive may be changed at runtime. For upload limits in particular, request-body processing can happen before application code runs, so setting a value with ini_set() is not a substitute for configuring the correct FPM or web-server layer.
Where should a setting live?
| Layer | Scope | Precedence and mutability | Reload boundary | Security and portability |
|---|---|---|---|---|
FPM php.ini |
All pools using that FPM installation | Can be replaced by scanned files, pool settings, or FastCGI parameters; runtime changes depend on PHP_INI mode | Reload the matching FPM service | Portable concept, but paths and service names vary |
Scanned .ini file |
All requests for that FPM installation | Loaded after the main file; a later file can win | Reload FPM | Useful for extensions and packaged defaults; ordering differs by installation |
Pool php_value/php_admin_value |
One FPM pool | Pool definitions overwrite earlier global values; admin forms block ini_set() |
Reload FPM | Good isolation between sites; syntax is FPM-specific |
Nginx PHP_VALUE/PHP_ADMIN_VALUE |
One virtual host or location | Passed with each FastCGI request and can override lower layers | Reload Nginx; existing FPM workers still need the request to reach the intended pool | Never expose FPM directly; snippets can make precedence hard to see |
Application ini_set() |
One request or application code path | Works only for directives permitting runtime changes and cannot beat admin values | No service reload | Least global impact, but too late for some request limits |
6. Reload the process that serves the request
After editing the correct file, reload the FPM unit identified by the Nginx socket or port:
sudo systemctl reload php8.3-fpm
If the service does not support a graceful reload, use the service manager’s documented restart action during an appropriate maintenance window:
Free tools Windows power users keep installed
One-click scans. No signup required.
sudo systemctl restart php8.3-fpm
Reload Nginx only when you changed Nginx configuration, such as a fastcgi_param or fastcgi_pass:
sudo nginx -t && sudo systemctl reload nginx
Make a new HTTP request to the diagnostic endpoint after the FPM reload. Do not rely on an already-open browser tab, an opcode cache assumption, a reverse proxy cache, or a page generated by a different hostname. If the endpoint still shows the old value, repeat the trace: verify the virtual host, socket, pool, PHP version, and every later override.
Best Value
Common failure patterns and their fixes
You edited the CLI file
Symptom: php --ini shows your new value, but the HTTP endpoint shows another file and the old value.
Fix: edit the FPM path reported by php_ini_loaded_file(), then reload the matching FPM service.
You edited the wrong PHP version
Symptom: several sockets or services exist, and Nginx’s fastcgi_pass names a different version than the directory you changed.
Fix: follow the active socket or port from nginx -T to its service and configuration tree.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsA pool value wins
Symptom: the global file contains the desired value, but only one site reports the old value.
Fix: search that pool’s configuration for php_value, php_flag, php_admin_value, and php_admin_flag; change or remove the conflicting definition and reload FPM.
Nginx sends a different value
Symptom: FPM files look correct, but requests through one hostname or URL path do not change.
Fix: inspect all included Nginx files and the exact server/location block selected for the request. Remove or update the conflicting fastcgi_param, test with nginx -t, and reload Nginx.
Only Nginx was reloaded
Symptom: you changed an FPM file and reloaded Nginx, but old workers continue returning the old value.
Fix: reload or restart the FPM unit itself, then issue a fresh HTTP request.
A cache or alternate backend answers
Symptom: direct requests to one host show the new value while the public URL does not.
Fix: bypass the cache for testing, confirm DNS and proxy routing, and ensure the request reaches the same virtual host, FPM socket, and pool you inspected.
Quick Recap
A repeatable checklist
- Record the value and URL that demonstrate the problem.
- Use a protected temporary endpoint to print
PHP_SAPI, PHP version, loadedphp.ini, scanned files, and the effective directive. - Compare that output with
php --ini; treat differences as evidence of separate SAPIs, not as a contradiction. - Run
nginx -Tand identify the exactfastcgi_passendpoint for the hostname and path. - Inspect the matching FPM main file, scanned files, global FPM configuration, and pool file.
- Search Nginx includes for
PHP_VALUEandPHP_ADMIN_VALUE. - Check the directive’s PHP_INI mode and whether request processing makes runtime changes too late.
- Reload the FPM service behind the active endpoint; reload Nginx as well if its configuration changed.
- Retest through HTTP, then remove the diagnostic endpoint.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




