PHP Notice and Warning Messages Explained
Your site shows a mild message from PHPPHP is a programming language that builds your web pages on the computer that hosts your site, just before they reach the visitor. WordPress runs on it.. It is a hint that something in the code is not tidy, and your site keeps working, so visitors usually notice nothing unless the message appears on screen. It is no emergency, but it is worth tidying up before a later PHP update turns it into something bigger.
A PHP notice is a mild message that says your code did something questionable, such as code that was valid in older PHP versions but is now flagged, and the script keeps running. Since PHP 8.0, reading an undefined variable or array key is a warning, not a notice. A warning is a step more serious: something failed, but PHP still carries on with the rest of the page.
Notice versus warning
Both message types are non-fatal, which means the page normally still loads. A notice points at sloppy code that works by luck. A warning points at an operation that did not succeed, for example including a file that does not exist or passing the wrong kind of value to a function. Neither stops the script the way a fatal error does, but both are signs that something in the code or the setup deserves attention.
Why they appear
Common triggers are an undefined variable or array key, a file path that is wrong, a function that received unexpected input, and code written for an older PHP versionA PHP version is a numbered edition of PHP, like 8.3. Each edition is looked after for a limited time, then gets security fixes only, then nothing.. Newer PHP versions have turned some old notices into warnings, and some warnings into errors, so a message that was harmless for years can become a real problem after an update. Plugins and themes that were never tidied up are frequent sources.
When they matter
On a live site, notices and warnings should not be visible to visitors. They clutter the page, can break layouts and headers, and can reveal file paths. Still, hiding them is not the same as fixing them. A warning that appears in the log every few seconds can point to a feature that quietly fails, and a pile of notices makes real problems harder to see.
How to check it safely
Back up first. Then open the error logAn error log is a file where your website's software writes down what went wrong, with the time and place. It is the first thing to check when a site breaks. and read the message: it names the type, the file and the line. Keep display of errors off on the live site and log them to a file instead. If you need to see messages on screen, do that on a stagingA staging environment is a private copy of your website where you try updates first, so any mistakes happen there and not on the live site. copy or a local copy, never on the public site. Check the PHP version too, since a version change often explains a sudden flood of messages.
What you can try yourself
Start with the file in the message. If it belongs to a pluginA WordPress plugin is an add-on you install in WordPress to give your site extra features, such as contact forms, SEO tools or a webshop. or themeA WordPress theme is a ready-made package that decides how your WordPress site looks and how its pages are laid out. Change the theme and the design changes., check for an update, because the maintainers may have fixed it. If it is your own code, define the variable or check that the key exists before you use it. If a file path is wrong, correct the path. Avoid the quick trick of silencing the message, since the underlying issue stays. Never paste passwords into forums while asking for help.
When the PHP version is the cause
If messages multiplied after a PHP update, older code is likely running into stricter rules. The supported versions page on this site shows which PHP versions the PHP project still maintains, which helps you choose a version to move to and test against.
When to get help
If the messages come from code you cannot edit, or if they hide a bigger fault, get help. At Website Without PHP a human replies within 1 business day. A rush repair starts from $425, excluding VAT.