October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
VGSources
Blog

Nginx Showing a Blank index.php Page: How to Fix It

A blank index.php response usually comes from a wrong document root, PHP-FPM endpoint, or SCRIPT_FILENAME. Follow this Nginx and PHP-FPM troubleshooting sequence to find the exact failure.
Length12 min Posted Quest giverVGSources Team
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A blank index.php response usually means Nginx reached the PHP handoff but PHP-FPM executed the wrong path, could not find the script, or failed before producing output. A 200 OK status does not prove that the intended file ran. Verify the active server block, document root, PHP-FPM endpoint, SCRIPT_FILENAME, file permissions, and both Nginx and PHP-FPM logs in that order.

What a blank PHP page actually tells you

When a browser displays a white page for / or /index.php, the response body is empty or contains no usable HTML. Nginx may still return 200 OK. PHP-FPM can send that status when the path it receives is wrong or the requested script does not exist, so the status code alone is not evidence that your application executed.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Nginx performs several separate decisions before you see a response:

  • It chooses a server block and a root directory.
  • For a slash-ending URI such as /, the index directive determines whether Nginx internally redirects to index.php.
  • A PHP location matches the URI and forwards it with FastCGI using fastcgi_pass.
  • The SCRIPT_FILENAME parameter tells PHP-FPM which file to execute.
  • PHP loads the script and its dependencies, then returns a body or records an error.

A failure at any handoff can look identical in the browser. Troubleshooting is therefore a path-and-logs exercise, not a matter of repeatedly refreshing the page.

#1 Best Overall
Sale
Gaoye Blue Light Blocking Glasses
  • BLUE LIGHT BLOCKING GLASSES: Our blue light glasses for women boast UV400 protection, blocking harmful blue rays from computer screens. With these bluelight glasses women, you can enjoy gaming, reading, or watching TV with no worries of eye strain.
  • EYE RELIEF: Our blue light glasses are engineered to reduce blurry vision or strain caused by prolonged screen time. These womens blue light glasses aid in better sleep by preventing blue light from disrupting your natural sleep cycle, helping you fall asleep faster and enjoy a more restful night's sleep, making them the perfect christmas present.
  • COMFORTABLE: Crafted from durable material, our trendy blue light glasses for woman or blue light glasses men ensure long-lasting comfort. The high-transmittance lenses accessories, gamer gifts for men, help keep your eyes relaxed. Perfect stocking stuffers, gifts for gamers men, christmas gifts for men, halloween costumes.
  • LIGHTWEIGHT: These clear blue light glasses feature a lightweight frame, meaning they’ll stay comfy for long-term wear. Perfect as blue blockers glasses for women or mens blue light glasses, these non-prescription fake glasses for men can be worn throughout the day. The blue light blocking glasses women feature polycarbonate HD lenses, which are anti-reflective and restore true color.
  • WORRY-FREE PURCHASE: If you experience any issues, our support team is ready to assist you quickly. These are the perfect costume glasses for cosplay dressing up.

1. Confirm that Nginx is using the server block you edited

Sites often have several enabled configurations, wildcard hosts, a default server, or a second include file that overrides the values you changed. Inspect the complete configuration that the running binary loaded:

sudo nginx -T

Search the output for the requested hostname and record the matching server {} block. Check its listen, server_name, root, index, PHP location, and log directives. If the host header does not match any named server, Nginx may select the default server and a completely different document root.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The configured root must be the directory that really contains the deployed entry file. For example, if the file is /var/www/example/public/index.php, a root of /var/www/example will make Nginx look in the wrong place for a request to /index.php; the intended root is normally /var/www/example/public. Confirm the file directly:

sudo stat /var/www/example/public/index.php
sudo find /var/www/example/public -maxdepth 1 -type f -name 'index.php' -print

Use the exact path shown by your deployment, not the example path. Containers, release symlinks, and hosting panels commonly place the public directory somewhere else.

2. Make sure directory requests resolve to index.php

A request for / ends with a slash, so Nginx checks the files listed by the index directive. A typical site has:

root /var/www/example/public;
index index.php index.html;

If index.php is absent from that list, / may produce a directory response, a redirect, a 403, or a different static file while a direct request to /index.php behaves separately. The index file must also exist beneath the configured root. Nginx internally redirects a slash-ending URI to the configured index file when it finds one, so inspect the resulting PHP location as well as the initial root location.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Test both URLs independently. A working /index.php with a blank / points toward index resolution or a rewrite rule; a blank response from both points farther down the PHP path.

3. Validate syntax before changing runtime behavior

Run a configuration test before every reload:

sudo nginx -t

Fix syntax errors, missing include files, duplicate directives, and invalid paths before diagnosing PHP. A successful test means the configuration can be parsed; it does not prove that the selected socket exists or that the script path is correct. Reload only after the test succeeds:

Rank #2
Windex Gaming Cleaning Wipes, Pre-Moistened Wipes to Instantly Clean all Gaming Gear and Electronics, Resealable Packaging for a Freshness Lock, 25 count (Pack of 1)
  • WINDEX GAMING WIPES: effortlessly clean all your gaming gear and gaming electronics in one easy step with our new Windex Gaming Wipes
  • AMMONIA FREE: our ammonia-free formula is safe to use on all of your favorite gaming equipment like consoles, headsets, controllers, screens, keyboards, and more
  • PRE-MOISTENED WIPES: each wipe instantly removes dust, dirt, and stubborn smudges and fingerprints leaving a streak-free shine
  • ANTI-STATIC: great for cleaning and wiping down your gaming gear and electronics leaving behind no visible residue
  • COMPACT RESEALABLE PACKAGE: store your pack of Windex Gaming Wipes anywhere in your home for whenever a quick and easy wipedown is needed
sudo systemctl reload nginx

On systems without systemd, use the service manager supplied by your distribution. If a reload fails, keep the previous working configuration in place and read the service manager’s error output before attempting more edits.

4. Check the PHP location and FastCGI handoff

The PHP location must pass requests to the PHP-FPM endpoint that is actually listening. This is a minimal structure to compare against:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
location ~ .php$ {
    include fastcgi_params;
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

The socket name is only an example. PHP 8.1, 8.2, 8.3, a distribution-specific package, a container, or a TCP setup will use a different endpoint. Replace it with the endpoint advertised by your running PHP-FPM service. To discover Unix sockets, inspect the runtime directory and the PHP-FPM pool configuration:

sudo find /run /var/run -type s -name '*fpm*.sock' 2>/dev/null
sudo grep -R "^listens*=" /etc/php /etc/php-fpm.d /etc/php-fpm.conf 2>/dev/null

For a TCP listener, the value might be something like 127.0.0.1:9000; use the address and port configured by the pool. Do not switch from a socket to TCP merely because it appears in an example. A socket is local and avoids a network port, while TCP is useful when Nginx and PHP-FPM are in separate containers or hosts. The two ends must use the same transport and address.

Check the service state and listener:

sudo systemctl status php8.2-fpm
sudo ss -ltnp | grep ':9000'

Substitute your installed service name and port. A missing socket, a stopped service, or a refused TCP connection normally produces a 502 response rather than a silent 200, but the distinction depends on error handling and any proxy layers in front of Nginx.

5. Fix SCRIPT_FILENAME and prove the resolved path

PHP-FPM needs the filesystem path of the script, not merely the URL. Nginx’s FastCGI documentation defines SCRIPT_FILENAME as the parameter PHP uses to determine the script name. The common expression $document_root$fastcgi_script_name combines the active root with the URI-derived script name.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For a request to /index.php with root /var/www/example/public, the expression should resolve to /var/www/example/public/index.php. A mismatched root, a location-level root, a rewrite that changes the URI, or a symlink pointing to an old release can produce a different path. PHP-FPM may then return an empty body and still report 200.

Use Nginx’s effective configuration to find every assignment:

Rank #3
Sale
LISEN Cell Phone Stand Phone Holder for Desk, Office Decor Gadgets for Men
  • Ergonomic & Adjustable Design: Fight "text neck" and improve your posture. Designed for comfort, it offers an adjustable height (7.1in-8.5in) (1.4in adjustable range) and angle (5°-85°) Please note: cell phone stand is only 9 inches tall—the length of a standard pencil
  • Without blocking subtitles Perfect for office desk Tiktok Face Time Zoom video—this is the ultimate kitchen desk essential for phones! Perfect viewing experience while reducing neck back strain, A must-have for gamers streamers desk, and anyone who values both style and support!
  • Sleek & Stable Design fits Otterbox Case: Say goodbye to bent cables, tangles, and tip-overs! LISEN’s stylish adjustable desk phone holder features a built-in charging hole and smart cable management, keeping your phone secure and your workspace clutter-free cool gadgets for men
  • ANTI-SLIP DESIGN free hands: The under 10.00 items easy gadgets back and the bottom of this kitchen essentials for women are fully covered by anti-skid silicone, which LISEN stand up desk decor can provide maximum protection device from any scratches and slides
  • Your Perfect Viewing Companion:If your product arrives damaged or breaks within 365 days, reach out to LISEN for a quick and hassle-free solution. Struggling with assembly, like tightening the screw? We’ve got your back! Your experience matters to us. (Product including: phone Holder stand*1, screw*1, hexagon screwdriver*1, specification*1)
sudo nginx -T | grep -n -E 'root |SCRIPT_FILENAME|fastcgi_pass|try_files'

Then test the candidate path as the account used by PHP-FPM. First identify that account in the pool configuration (often a user such as www-data or nginx), then check each directory component:

namei -l /var/www/example/public/index.php
sudo -u www-data test -r /var/www/example/public/index.php && echo readable

The file needs read permission, and the worker needs execute (directory traversal) permission on every parent directory. Correcting only the file mode will not help if a parent directory blocks traversal. Avoid making the entire tree world-writable; grant the least access required by the PHP-FPM pool.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

6. Use try_files deliberately

try_files can stop Nginx from handing a nonexistent PHP file to PHP-FPM and can route application requests to a front controller. A direct-script site may use:

location ~ .php$ {
    try_files $uri =404;
    include fastcgi_params;
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

Here, a request for a missing script ends with 404 instead of reaching PHP-FPM. That is safer and makes path errors visible. A framework that routes most URLs through one entry file generally uses a separate application location:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

location ~ .php$ {
    include fastcgi_params;
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

The fallback must name the real front controller. If it points to /public/index.php while the root is already /var/www/example/public, the resulting path may contain an unintended duplicate directory. Conversely, omitting the public directory from a root that requires it can route requests outside the deployed application. Choose one layout and make the root, fallback URI, and script filename agree.

Do not add a blanket try_files $uri =404 to a front-controller location without understanding the application. It can prevent legitimate virtual routes from reaching the controller.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

7. Read logs on both sides of the request

Browser developer tools show the final response but rarely identify which handoff failed. Nginx’s error_log records configuration, permission, upstream, and rewrite errors; access_log records the request and status. The configured paths vary by distribution and build. Inspect the active values with:

sudo nginx -T | grep -n 'error_log|access_log'
nginx -V 2>&1 | tr ' ' 'n' | grep -- '--error-log-path'

Tail the relevant files while making one request:

sudo tail -f /var/log/nginx/error.log /var/log/nginx/access.log

In another terminal, request the page and preserve headers and the body:

Rank #4
Ledagic IC+RGBW USB Powered Led Light Bar with App & Remote Control, 2 Pack
  • Easy Installation: Our gaming lights have been designed to enhance your entertainment experience. Simply position the led light bar next to your TV or game console to create a game room environment with ease. They come with USB power and a 60 inch cord for direct mounting and mobility
  • Audio Syncing & Extensive Mode: The built-in high-sensitivity music sensor allows you to sync the TV led lights to your favorite music. Lights react and move to the beat of music, film and game audio, creating an incredible immersive sound and light experience – and all without the need for an additional hub. You can choose from 64+ patterns, including strobe, illusion, jump, energy, gradient, running, chasing, fluttering mode etc. Each mode can be applied to different scenes
  • 64+ Chasing IC+RGB & W Effect: The independent control design of IC+RGB and white all-in-one multifunctional rgbw led bar lights monitor backlight allows you to easily switch the led lights for desk between IC+RGB and white to enjoy a variety of lighting effects, you can choose white lighting mode with high brightness for better illumination when working, etc. Choose IC+RGB lighting mode when you need to create an entertaining atmosphere for the light show, 16 million colours of Color changing rgb light bar let you dance to the beat and create a dynamic party atmosphere
  • Dynamic and Dimmable Lights: 1%-full brightness free brightness adjustment gives you the flexibility to adjust dimmable led light bar for room decorations or a variety of occasions
  • USB Powered: USB light bars for room can be powered by powernank, usb charger, TV, Monitor, laptop PC mainframe, making behind TV led lighting bar easy to install in any location.TV led lights are powered by the TV usb interface / PC mainframe, can be turned on/off synchronously with TV / PC
curl -i https://example.test/
curl -i https://example.test/index.php
curl -sS -D /tmp/index.headers -o /tmp/index.body https://example.test/index.php
wc -c /tmp/index.body

Also inspect the PHP-FPM service and pool logs. Their location depends on the package and pool configuration; use the service journal when available:

sudo journalctl -u php8.2-fpm --since '10 minutes ago'

Correlate one timestamp across the Nginx access log, Nginx error log, and PHP-FPM log. Typical messages point to different fixes:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Observed result Likely cause Next check
connect() failed (2: No such file or directory) for the upstream socket The socket path in fastcgi_pass does not exist, or PHP-FPM is not running. Inspect the pool’s listen value, socket ownership, and service state.
Connection refused to a TCP endpoint No process is listening at the configured address and port, or a container/network boundary is wrong. Check ss -ltnp, container addresses, and firewall rules.
Primary script unknown or “No input file specified” SCRIPT_FILENAME, root, symlink resolution, or file existence is wrong. Compare the constructed path with stat and inspect every directory permission.
PHP fatal error or uncaught exception in the FPM log The script was reached but failed during startup or execution. Fix the named PHP file, extension, dependency, or configuration value; keep display errors off in production.
Access log shows 200 with zero body bytes and no upstream error The script may be empty, the wrong script may have run, or PHP output was suppressed. Verify the deployed file contents, resolved filename, application logging, and runtime error log.

Do not enable verbose error output on a public production site just to make a blank page visible. Use a controlled diagnostic environment or temporarily enable logging while keeping display_errors disabled for visitors, then revert the change.

8. Separate routing failures from PHP failures

Test a known static file under the same root, such as /health.txt, and compare it with PHP:

printf 'static-okn' | sudo tee /var/www/example/public/health.txt
curl -i https://example.test/health.txt
curl -i https://example.test/index.php
  • If the static file fails, investigate DNS, the selected server block, document root, permissions, or a preceding proxy before touching PHP.
  • If static delivery works but PHP is blank, focus on the PHP location, FastCGI endpoint, script filename, and PHP-FPM logs.
  • If /index.php works but / is blank or different, inspect index, rewrites, and the slash-ending location.
  • If a simple PHP file works but the application entry point is blank, investigate application bootstrap errors, missing extensions, environment variables, and dependency paths.

For a controlled runtime test, create a temporary file containing only <?php echo "fpm-okn";, request it directly, and remove it immediately after testing. Never leave diagnostic scripts in a public directory.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

9. Check application-level causes after the handoff is proven

Once logs show that the intended file was opened, Nginx is no longer the primary suspect. A blank body can result from a fatal error whose display is disabled, an output buffer that is never flushed, a missing PHP extension, an autoloader failure, or an application configuration value that points to a nonexistent service.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use the PHP-FPM runtime, not the command-line PHP runtime

The CLI binary and FPM pool can load different php.ini files, extensions, environment variables, and user permissions. Compare the FPM pool configuration with the CLI environment rather than assuming that a successful php -m test proves the web request has the same modules.

Check deployment symlinks and release directories

Atomic deployments often switch a current symlink while workers continue serving an older path. Confirm that Nginx’s root and the PHP-FPM-visible path resolve to the same release, and that the target remains readable after rotation.

Best Value
Sale
HUANUO FlowLift™ Dual Monitor Stand, Fully Adjustable Gaming Monitor Desk Mount for 13–32″ Computer Screens, Full Motion VESA 75x75/100x100 with C-Clamp & Grommet Base, Each Arm Holds 4.4 to 19.8 lbs
  • Compatible with Wide Screens - To ensure compatibility with the dual monitor mount, your each monitor must meet three conditions at the same time: First, computer screens size range: 13 to 32 inches. Second, screen weight range: 4.4 to 19.8 lbs. Third, the back of the monitor screen must have VESA mounting holes with a pitch of 75x75mm or 100x100mm.
  • Regarding the compatibility with desks - Your desk must meet three conditions at the same time: First, desk material: Only wooden desks are recommended, plastic or glass desks cannot be used. Second, desk thickness range: 0.59" - 3.54". Third, the bottom of the desk should not have any cross beams or panels, as this will interfere with installation. We recommend carefully checking that your desk and monitors meets all above conditions before purchasing.
  • Dual C-Clamp Hold - Worried your dual monitors might wobble or slip? Our upgraded base uses a larger platform plus a dual C-clamp structure to lock the dual monitor arm firmly to your desk. Each arm safely keeps your screens steady while you type, click and game—no shaking, no sliding, just a clean and secure setup you can trust every day. It also provides Grommet Mounting installation choice, both options ensure stable and secure fixation for your 0.59" - 3.54" desk.
  • Full-Motion Adjustment For Comfortable View - Pull the screen closer when you’re deep in a spreadsheet, push it back to watch videos, or rotate to portrait for coding — moving everything smoothly with just one hand. The monitor stand offers +85°/-50° tilt, ±90° swivel and 360° rotation. Raise your monitor up to 15.75″ to support a healthy sitting posture. Whether you’re working from home, gaming through the night, or switching between video calls and documents, getting the screens to your natural line of sight helps relieve neck, shoulder and back strain so you can stay focused longer with less fatigue.
  • Keep Your Desk Organized: By lifting both screens off the desktop, this dual monitor stand opens up valuable space for your keyboard, notebook, docking station or a simple, clutter-free work area. Built-in cable management guides wires along the arms, keeping cords out of sight and out of the way. Enjoy a tidy, modern workstation that looks as good as it feels to use.

Check permissions without overcorrecting

Run the application as the FPM user only for the specific read or directory checks needed. Avoid chmod -R 777; it hides the real ownership problem and creates an unnecessary write surface.

Unix sockets versus TCP: which endpoint should you use?

Choice Best fit Advantages Failure modes
Unix socket Nginx and PHP-FPM on the same host No listening network port; direct local handoff. Wrong filename, stale socket, or socket ownership prevents connection.
TCP endpoint Separate containers, hosts, or a topology that requires network separation Works across process or host boundaries and is explicit in container setups. Wrong address or port, service binding only to loopback, firewall rules, or container DNS errors.

Neither option fixes an incorrect SCRIPT_FILENAME. Choose the transport that matches the deployment, then verify the listener and permissions before changing application code.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Development diagnostics versus production safety

During local troubleshooting, temporarily increasing PHP error logging can reveal the exact fatal error. In production, send errors to a protected log and keep them out of the response because stack traces can disclose credentials, filesystem paths, and source code. Restore the site’s normal logging level and remove temporary test files after the cause is identified.

Retain enough context to diagnose the next failure: request time, host, URI, upstream status, PHP-FPM pool, and a correlation identifier if your stack supports one. A blank page without logs is an observability problem as much as a PHP problem.

A repeatable fix sequence

  1. Request both / and /index.php with curl -i; record status, headers, and body length.
  2. Run nginx -T and identify the server block selected for the hostname.
  3. Confirm root contains the deployed index.php and that index includes it.
  4. Run nginx -t; correct all parse and include errors.
  5. Compare fastcgi_pass with the PHP-FPM pool’s actual socket or TCP listen endpoint.
  6. Verify SCRIPT_FILENAME resolves to the real file and that the FPM user can traverse and read it.
  7. Check try_files and rewrite fallbacks so they match the application’s public root and front controller.
  8. Tail Nginx and PHP-FPM logs while making one fresh request; fix the first concrete error rather than changing several variables at once.
  9. Reload Nginx only after a successful syntax test, retest, and remove any temporary diagnostic file or setting.

This order prevents a common mistake: debugging application code when Nginx is pointing PHP-FPM at a path that does not exist.

When migration or managed hosting is reasonable

If you cannot control the Nginx server block, PHP-FPM pool, socket permissions, or service logs, a managed PHP environment with documented Nginx and PHP-FPM support can remove those operational constraints. Before moving, confirm the provider supplies the PHP version and extensions your application requires, permits access to error logs, supports your deployment layout, and documents how to set the public document root. Migration is not a substitute for checking the path: copy the application, database, environment variables, and web-root layout, then repeat the endpoint and filename tests on the new host.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Frequently Asked Questions

Why does Nginx return 200 OK for a nonexistent PHP script?

PHP-FPM can receive a path that does not exist and still produce a 200 response with an empty body. Check the effective root and SCRIPT_FILENAME, then confirm the file with stat and inspect the PHP-FPM log.

What should I change if the PHP-FPM socket path differs from the example?

Use the socket or TCP address shown by the active PHP-FPM pool’s listen directive. The value in fastcgi_pass must match it exactly; PHP versions and distributions use different names.

How can I tell whether the problem is Nginx or the PHP application?

Request a known static file and /index.php separately. If static delivery works, correlate the PHP request with Nginx and PHP-FPM logs; a fatal error after the script is opened is an application/runtime issue.

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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More quests from Patch Notes

  1. How to Set Up a RedM (RDR2) Server in 2026: License Key, txAdmin and server.cfg, Step by StepBlog11min
  2. Best RedM (RDR2) Server Hosting in 2026: Comparing Four Hosts on Slots, Memory and PriceBlog10min
  3. How to Host a Mindustry Server in 2026: server-release.jar, Port 6567 and the Commands That MatterBlog7min
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.