Cara menggunakan wordpress disable notices

Notice: Constant DIR_FS_CATALOG already defined

I've already commented out display_errors in php.ini, but is not working.

How do I make PHP to not output such things to browsers?

UPDATE

I put display_errors = Off there but it's still reporting such notices,

Is this an issue with PHP 5.3?

Reporting numerous Call Stack too..

Charles

50.3k13 gold badges101 silver badges141 bronze badges

asked May 19, 2010 at 15:41

user198729user198729

59.8k107 gold badges248 silver badges346 bronze badges

5

You can disable notices by setting error reporting level to E_ALL & ~E_NOTICE; using either error_reporting ini setting or the error_reporting() function.

However, notices are annoying (I can partly sympathize) but they serve a purpose. You shouldn't be defining a constant twice, the second time won't work and the constant will remain unchanged!

Cara menggunakan wordpress disable notices

answered May 19, 2010 at 15:43

Cara menggunakan wordpress disable notices

14

For the command line php, set

error_reporting = E_ALL & ~E_NOTICE

in /etc/php5/cli/php.ini

command php execution then ommits the notices.

Cara menggunakan wordpress disable notices

chown

51k16 gold badges132 silver badges169 bronze badges

answered Nov 5, 2011 at 14:51

Paul SalberPaul Salber

6806 silver badges12 bronze badges

3

Used This Line In Your Code

error_reporting(E_ALL ^ E_NOTICE);  

I think its helf full to you.

answered Nov 13, 2017 at 9:48

Cara menggunakan wordpress disable notices

Vicky MahaleVicky Mahale

1,10110 silver badges18 bronze badges

I prefer to not set the error_reporting inside my code. But in one case, a legacy product, there are so many notices, that they must be hidden.

So I used following snippet to set the serverside configured value for error_reporting but subtract the E_NOTICEs.

error_reporting(error_reporting() & ~E_NOTICE);

Now the error reporting setting can further be configured in php.ini or .htaccess. Only notices will always be disabled.

answered Dec 5, 2018 at 11:07

Cara menggunakan wordpress disable notices

algorhythmalgorhythm

8,2822 gold badges34 silver badges46 bronze badges

You are looking for:

php -d error_reporting="E_ERROR | E_WARNING | E_PARSE"

Cara menggunakan wordpress disable notices

answered Oct 7, 2014 at 19:42

2

I found this trick out recently. Whack an @ at the start of a line that may produce an warning/error.

As if by magic, they dissapear.

answered May 19, 2010 at 16:00

DrLazerDrLazer

2,6153 gold badges37 silver badges52 bronze badges

7

For PHP code:

<?php
error_reporting(E_ALL & ~E_NOTICE);

For php.ini config:

error_reporting = E_ALL & ~E_NOTICE

answered Nov 9, 2017 at 13:14

Nabi K.A.Z.Nabi K.A.Z.

8,7966 gold badges53 silver badges71 bronze badges

You can set ini_set('display_errors',0); in your script or define which errors you do want to display with error_reporting().

answered May 19, 2010 at 15:44

jeroenjeroen

90.3k21 gold badges113 silver badges131 bronze badges

1

error_reporting(E_ERROR); worked for me.

answered May 14, 2021 at 10:22

Cara menggunakan wordpress disable notices

by not causing the errors:

defined('DIR_FS_CATALOG') || define('DIR_FS_CATALOG', 'whatever');

If you really have to, then change error reporting using error_reporting() to E_ALL^E_NOTICE.

answered May 19, 2010 at 15:46

Jonathan KuhnJonathan Kuhn

15k3 gold badges31 silver badges43 bronze badges

4

As mentioned by some and if you are the code author, you should correct all those errors, notices, etc. because it will cause more problems for you long terms than not fixing them (especially when you upgrade your OS). For your server, you should have errors displayed in your logs only, not the client's screen.

So to avoid the errors in your browser you use the display_errors flag as you already found:

display_errors = Off

Now the real problem is when you are running someone else code. In that case, modifying the code is likely to get overwritten each time you upgrade that code. It makes it tedious to maintain that code.

In my case, I am running PHP with crontab to have the wp-cron.php script running once in a while. I was getting errors sent to my emails, which becomes tedious when you get one email every 10 minutes! In that case, though, the Wordpress system has a configuration file includes a WP_DEBUG and they call the error_reporting() function so trying to change the error_reporting variable on the command line won't work. Instead you have to edit the wp-config.php file in the root folder and make sure that the WP_DEBUG is set to false. Otherwise you will get all those warnings and notices all the time.

answered Jul 4, 2017 at 6:44

Alexis WilkeAlexis Wilke

17.7k10 gold badges77 silver badges134 bronze badges

If you are running from the command line, you can do this:

php -d display_errors="0" script.php 2>/dev/null

You HAVE to include -d display_errors="0" as well as the redirection of stderr to null, weird

answered Dec 15, 2021 at 17:46

Cara menggunakan wordpress disable notices

You can check if the constant's already defined using:

<?php
if (!defined('MYCONST'))
    define('MYCONST', 'Weeha!');
?>

answered May 19, 2010 at 15:46

Thiago BelemThiago Belem

7,6625 gold badges42 silver badges64 bronze badges

0

I believe commenting out display_errors in php.ini won't work because the default is On. You must set it to 'Off' instead.

Don't forget to restart Apache to apply configuration changes.

Also note that while you can set display_errors at runtime, changing it here does not affect FATAL errors.

As noted by others, ideally during development you should run with error_reporting at the highest level possible and display_errors enabled. While annoying when you first start out, these errors, warnings, notices and strict coding advice all add up and enable you to becoem a better coder.

answered May 19, 2010 at 15:58

AllenJBAllenJB

1,2071 gold badge9 silver badges18 bronze badges

Double defined constants

To fix the specific error here you can check if a constant is already defined before defining it:

if ( ! defined( 'DIR_FS_CATALOG' ) ) 
  define( 'DIR_FS_CATALOG', 'something...' );

I'd personally start with a search in the codebase for the constant DIR_FS_CATALOG, then replace the double definition with this.

Hiding PHP notices inline, case-by-case

PHP provides the @ error control operator, which you can use to ignore specific functions that cause notices or warnings.

Using this you can ignore/disable notices and warnings on a case-by-case basis in your code, which can be useful for situations where an error or notice is intentional, planned, or just downright annoying and not possible to solve at the source. Place an @ before the function or var that's causing a notice and it will be ignored.

Here's an example:

// Intentional file error
$missing_file = @file( 'non_existent_file' );

More on this can be found in PHP's Error Control Operators docs.

answered Mar 3, 2020 at 16:02

Cara menggunakan wordpress disable notices

Kevin LearyKevin Leary

8,0552 gold badges51 silver badges44 bronze badges

Set the display_errors=Off and restart xampp server

answered Sep 17 at 11:30

Cara menggunakan wordpress disable notices