iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
If a php.ini edit has no effect on an Nginx site, restart or reload the PHP-FPM instance that actually serves the request—not just Nginx. Nginx passes the request to PHP-FPM, and PHP-FPM loads its own configuration, pool settings, and any FastCGI overrides. First inspect the configuration seen by a real web request, then find the winning value, reload the matching FPM service, and test again.
Why php.ini changes appear to do nothing behind Nginx
Nginx does not interpret php.ini and does not execute PHP. Its PHP location block forwards requests to a PHP-FPM socket or TCP endpoint. PHP-FPM workers then load configuration and run the script. The command-line PHP binary is a separate SAPI and can use a different installation, version, or configuration tree.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →That is why php --ini can show one file while phpinfo() from an HTTP request shows another. A value can also be changed after php.ini is read by a pool file, an Nginx PHP_VALUE parameter, or application code. An unchanged setting therefore usually means one of four things: you edited the CLI SAPI, a later layer overrides the edit, the relevant FPM workers were not reloaded, or the request reached a different pool or PHP version.
Start with the configuration used by the web request
Create a temporary diagnostic endpoint
Place a file such as fpm-check.php in the same virtual host and document root as the failing request:
#1 Best Overall
- Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
- With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
- Wide Application: attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
- Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
- Economical &Reusable: Built durable materials with a long-lasting battery,our CAGIWIRU air duster it's a sustainable alternative to disposable air cans.
<?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;
echo 'post_max_size: ' . ini_get('post_max_size') . PHP_EOL;
Use only the directives relevant to your investigation; the examples above are common upload and memory checks. Restrict the file by IP, HTTP authentication, or a temporary access rule, and delete it immediately after testing. A public diagnostic page can disclose filesystem paths, versions, and security-sensitive settings.
Compare it with the CLI result
On the server, run:
php --ini
php -i | grep -E '^(Loaded Configuration File|Scan this dir for additional .ini files|Additional .ini files parsed)'
Compare the loaded file and scanned directory from the command output with the HTTP endpoint. A mismatch is normal when command-line PHP and FPM are separate installations or versions. It is evidence that editing the CLI file cannot change the web request.
Understand every configuration layer
PHP-FPM uses the same php.ini syntax for its main configuration and pool files. The PHP-FPM configuration manual states that “FPM uses php.ini syntax for its configuration file – php-fpm.conf, and pool configuration files.” The effective value is determined by the layer that applies last and by whether the directive is allowed to change at that stage.
Global FPM php.ini and additional files
Each FPM build has a php.ini, commonly under a path containing the PHP version and fpm, plus a directory of additional files ending in .ini. Distribution packages often load those files in lexical order. Use the diagnostic endpoint, FPM startup configuration, and package layout on your host rather than assuming a path from another distribution. Search all candidate files for the directive:
Rank #2
- Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
- Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
- Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
- Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
- Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth
grep -RIn --include='*.ini' 'memory_limit|upload_max_filesize|post_max_size' /etc/php /etc/php.d /etc/php-fpm.d 2>/dev/null
Use the directories that exist on your system. A value in a later scanned file can make a change in the main php.ini look ineffective.
FPM master and pool files
The running master process reads php-fpm.conf, which normally includes one or more pool files. Pool settings apply to only that pool and can override global values. The shipped pool template documents this explicitly: “Additional php.ini defines, specific to this pool of workers. These settings overwrite the values previously defined in the php.ini.” See the PHP-FPM pool configuration template.
Free tools Windows power users keep installed
One-click scans. No signup required.
Find the pool selected by the active master process and search it for php_value, php_flag, php_admin_value, and php_admin_flag. A site may have several pools, each with a different user, socket, and set of overrides.
Nginx FastCGI parameters
Nginx can pass settings to FPM in the PHP location block or an included snippet:
Rank #3
- 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
- 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
- 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
- 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
- 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.
set $php_value 'pcre.backtrack_limit=424242';
set $php_value '$php_value n pcre.recursion_limit=99999';
fastcgi_param PHP_VALUE $php_value;
fastcgi_param PHP_ADMIN_VALUE 'open_basedir=/var/www/htdocs';
The PHP manual example shows this mechanism and warns that these settings are sent as FastCGI headers. FPM should not be bound to a worldwide-accessible address, because a client able to submit those headers could alter PHP configuration options. Keep FPM on a protected Unix socket or a firewalled, private network address.
Application-level ini_set()
PHP code can call ini_set() for directives whose PHP_INI mode permits runtime changes. This is the narrowest scope and applies only after the request starts. It cannot repair a setting that must be known while PHP parses the request or before application code executes.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Choose the right layer for the change
| Layer | Scope | Precedence and mutability | Reload boundary | Security and portability |
|---|---|---|---|---|
| FPM php.ini or scanned file | All pools using that FPM installation | Can be superseded by pool or FastCGI settings; runtime changes depend on PHP_INI mode | Reload the matching FPM service | Central and portable in principle, but paths and service names differ by distribution |
Pool php_value/php_flag |
One FPM pool | Overrides earlier php.ini values; ini_set() may override when permitted |
Reload FPM | Good tenant isolation; pool-specific syntax must be supported by the installed FPM |
Pool php_admin_value/php_admin_flag |
One FPM pool | Overrides earlier values and cannot be overridden by ini_set() |
Reload FPM | Strong enforcement; changing it requires pool administration |
Nginx PHP_VALUE/PHP_ADMIN_VALUE |
One server, location, or included snippet | Passed to FPM for matching requests; admin variants are not runtime-overridable | Reload or restart Nginx after editing, then ensure FPM accepts the parameter | Powerful but easy to apply to the wrong host or location; never expose FPM publicly |
ini_set() in PHP |
One request or application path | Only directives permitting runtime changes; cannot defeat admin values | No process reload | Portable for permitted directives, but too late for request parsing and not a security boundary |
The FPM template describes the distinction precisely: “php_value/php_flag – you can set classic ini defines which can be overwritten by PHP call ‘ini_set’.” It then says, “php_admin_value/php_admin_flag – these directives won’t be overwritten by PHP call ‘ini_set’.”
Step-by-step procedure to make the change take effect
- Record the web value. Use the temporary endpoint and note
PHP_SAPI, PHP version, loaded php.ini, scanned files, and the directive value. - Identify the FastCGI destination. Dump the active Nginx configuration, including files pulled in with
include:sudo nginx -T 2>/dev/null | lessSearch the output for the PHP location and its
fastcgi_passline. It may point to a Unix socket such asunix:/run/php/php8.3-fpm.sockor to a private TCP address and port. The version or endpoint here determines which FPM instance matters. - Find the corresponding FPM service and files. List likely units and inspect their status:
systemctl list-units --type=service | grep -i fpm sudo systemctl status php8.3-fpmReplace the example unit with the one that owns the socket or port in
fastcgi_pass. Inspect its command line and configuration arguments if several versions are installed. - Search all FPM layers. Inspect the FPM php.ini, its additional-ini directory, the global
php-fpm.conf, and the selected pool file. Search for the exact directive and for all four pool override forms:grep -RIn 'your_directive|php_value|php_flag|php_admin_value|php_admin_flag' /etc/php /etc/php-fpm.conf /etc/php-fpm.d 2>/dev/nullUse the actual configuration roots on your operating system. Remove or change a later conflicting value instead of repeatedly editing the global file.
- Inspect Nginx overrides and includes. In the output of
nginx -T, search forPHP_VALUEandPHP_ADMIN_VALUE. Check the exactserver_nameandlocationhandling the hostname you test. An included snippet or a more-specific location may set a different value. - Validate syntax before reloading. Run
sudo nginx -tafter Nginx changes. For FPM, use the service’s configuration test option where provided, or run the installed FPM binary with its test flag and the same configuration path used by the service. Do not reload a unit whose configuration you have not identified. - Reload the FPM instance that serves the request. For a systemd installation this is typically:
sudo systemctl reload php8.3-fpmUse the exact service name discovered earlier. If the unit does not support a graceful reload, follow the distribution’s documented restart operation; a restart briefly disrupts workers, while a reload lets existing requests finish when supported.
- Reload Nginx only when its configuration changed. If you edited a
fastcgi_param, runsudo nginx -tand thensudo systemctl reload nginx. Reloading Nginx alone does not replace PHP-FPM workers holding the old PHP configuration. - Make a fresh HTTP request. Bypass an application, proxy, or page cache when possible, request the exact hostname and path, and check the diagnostic output again. Delete the diagnostic file after the value is confirmed.
Why common fixes fail
You edited the CLI php.ini
The file reported by php --ini belongs to the command-line SAPI. Edit the file reported by php_ini_loaded_file() in the FPM request, or change the pool or Nginx layer that is intentionally overriding it.
Rank #4
- 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
- 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
- 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
- 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
- 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.
You edited the wrong PHP version
Multiple sockets such as PHP 8.2 and PHP 8.3 can coexist. Nginx may still point to the older socket even after you edit the newer version’s files. Match the fastcgi_pass endpoint, FPM service, PHP version, and diagnostic output as one chain.
A pool value wins over the global file
A php_value or php_admin_value in the active pool intentionally replaces the global setting. Change that pool directive or remove the conflict, then reload that pool’s FPM master.
An Nginx include or different virtual host handles the request
Configuration snippets can add FastCGI parameters outside the file you opened. nginx -T shows the expanded configuration. Confirm that the hostname, TLS listener, server block, and PHP location are the ones receiving your test request.
You reloaded the wrong process
Reloading Nginx does not reload PHP-FPM. Conversely, reloading an unrelated FPM version leaves the serving workers unchanged. Verify the socket or port and the service unit before issuing the reload.
Best Value
- 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
- 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
- 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
- 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
- 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.
A cache or proxy hides the new response
Test directly against the expected host and use a unique query string if your application or reverse proxy caches responses. A response from another hostname, container, or backend can make a correct configuration appear ineffective.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Directive-specific details that matter
Upload and request-size limits
Settings such as upload_max_filesize and post_max_size interact with request-body processing. The web server or FPM may reject or discard a body before application code reaches ini_set(). Set these values in the appropriate FPM or web-server layer, then verify the actual HTTP request. post_max_size must also be large enough for the complete multipart request, not merely the file limit.
Runtime mutability is directive-specific
Do not assume that every php.ini entry can be changed with ini_set(). Check the PHP_INI mode documented for the PHP version installed on the server. A directive marked system- or per-directory-only requires configuration before the request runs; an admin value cannot be changed by application code.
Multiple workers and graceful reloads
FPM workers inherit configuration when they start. A graceful reload replaces workers over time, so allow in-flight requests to finish and then retest. If old workers remain because of a stuck request, inspect the service status and logs rather than repeatedly editing php.ini.
Security checklist before you finish
- Remove the diagnostic PHP file and any temporary public access rule.
- Keep FPM on a Unix socket or a private, firewalled address; never expose it to the public Internet.
- Review
PHP_VALUEandPHP_ADMIN_VALUEparameters in every included Nginx snippet. - Use
php_admin_valueonly for settings that must not be weakened by application code. - Record the serving PHP version and socket so future package upgrades do not silently move the site to another FPM instance.
When the value still does not change
At that point, treat the old value as a routing or precedence clue rather than as proof that PHP ignored the file. Compare the endpoint’s SAPI, version, loaded file, scanned files, and value with the FPM service tied to Nginx. Then inspect the active pool and expanded Nginx configuration for a later override. Logs from the matching FPM unit and Nginx virtual host can reveal a different socket, container, or backend. Once the request reaches the intended pool and all later overrides are accounted for, a reload followed by a new HTTP request should expose the edited value.
Key takeaway
There is no single “Nginx php.ini.” Nginx forwards requests; PHP-FPM selects the PHP configuration, pool settings, and FastCGI parameters that govern the request. Prove the web SAPI first, trace the request to its FPM socket and pool, find the last setting applied, reload that exact FPM service, and verify through HTTP. This method explains both why php --ini can disagree with phpinfo() and why restarting the wrong daemon changes nothing.
Quick Recap
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.

