Deprecated in *\\wp-includes\\class-simplepie.php on line

I originally wrote this message in the help forum at wordpress.org but got no help. hope you can help me.

I get this message everywhere.

Deprecated: Assigning the return value of new by reference is deprecated in C:\wamp\www
lcc\blog\wp-includes\class-simplepie.php on line 738

Deprecated: Assigning the return value of new by reference is deprecated in C:\wamp\www
lcc\blog\wp-includes\class-simplepie.php on line 1108

Deprecated: Assigning the return value of new by reference is deprecated in C:\wamp\www
lcc\blog\wp-includes\class-simplepie.php on line 1602

Deprecated: Assigning the return value of new by reference is deprecated in C:\wamp\www
lcc\blog\wp-includes\class-simplepie.php on line 1643

In the incoming links on the dashboard so I got rid of them. in the the wordpress blog so i got rid of it. but then I needed the Role editor plugin and got so many lines of this message I couldn’t even count. I would like to use the role editor but I can’t with pages and pages of simplepie deprecated messages.

When I contacted the author of the role editor plugin he explained the problem was with simplepie. Is there anyway to work around or get rid of or something the simplepie include without breaking the wordpress code?

Please help.

Thanks

Simplepie is written so as to maintain compatability with PHP 4

PHP 5 doesn’t like the old stuff and throws a lot of STRICT errors.

IMHO the easiest thing to do is turn off STRICT errors (or pass to a custom error handler).

ok fine with me. How do I do that? I just downloaded wamp a few months ago so the version of PHP I am using is (according to copy and paste) is php5.3.0. (not that I know what that means). So how do I turn off strict error messages and what is a custom error handler? though seriously I am just thinking of using wordpress for a simple blog and calendar with the blog being behind a password so I don’t think I need anything serious with php the rest of the site is simple html, css and flash. I don’t need anything like RSS feeds.

Edit the php.ini and find error_reporting setting. There are comments as to what settings you can use and their meaning. E_ALL & ~E_NOTICE should do it.

ok So I went to the php.ini file in both apache and php because I wasn’t sure which one to change and changed them both. Originally the error_reporting setting was E_ALL and I changed it to E_ALL & ~E_NOTICE. I restarted my computer and, unfortunately, I continue to get the same lines and lines of deprecated messages.

I also tried E_ALL & ~E_DEPRECATED (because why not try something) it didn’t work either and I switched it back (assuming deprecated is included in notice).

Did I do something wrong?

Any other suggestions?

How many times are you getting the error? You’ve probably got a & everywhere when working with variables

Here is a short thing I found via google which explains it.

Make a back-up copy then remove the occurrences of &

E_NOTICE errors can be a pain too, and it seems logical that E_STRICT errors would be a subset, but AFAIK they’re not. Try
E_ALL & ~E_STRICT

Believe me, when I discovered that Simplepie was throwing STRICT errors (breaking my plugin) my first thought was “maybe it only needs to be hacked in a few places to fix things” - unfortunately it’s not so easy - there’s lots of them, And then there’s the “calling static” errors besides the “by referrence” errors too.

Magpie didn’t clean-up after itself, so I guess anything has its problems, but I’m hoping eventually when PHP4 support is finally dropped all the errors in the WordPress Core files can be tackled.

I’ve never used Simplepie myself, have they set a date for the ending of Simplepie’s php4 support? imho there should by now be a version of Simplepie available that doesn’t worry about php4 as support for php4 was ended what must be over a year ago

I think it must be longer than that, sure feels like it :frowning:

Part of the problem is that WordPress wants to maintain support. At least they’re finally mentioning ending it. I mean cheesh, you even see talk of PHP 6 now.

At risk of self-promotion, you could search “extend” for the “Error Reporting” plugin. I’m ashamed to admit I haven’t worked on for a few months, but it might do what you need. It ignores all Simplepie errors as that was the only way I could figure out how to not have it cause Internal Server errors.

Well I tried E_ALL & ~E_STRICT and there were no changes. So then I tried the error reporting plugin. This stopped all “incoming links” from coming in which was fine with me (No deprecated messages or anything else) but when I went to use the plugin I go this error:

Apache HTTP Server has encountered a problem and needs to close. We are sorry for the inconvenience.

And then this:

This webpage is not available.

The webpage at http://localhost/nlcc/blog/wp-admin/plugins.php?action=activate&plugin=user-role-editor%2Fuser-role-editor.php&_wpnonce=2599f75357 might be temporarily down or it may have moved permanently to a new web address.

More information on this error
Below is the original error message

Error 101 (net::ERR_CONNECTION_RESET): Unknown error.

can i just get rid of simplepie?

Hi again. Sorry to have taken a few days.

I downloaded the user role editor plugin and will take a look at it when I get a chance.

I looked at the WordPress 3.0.1 Core files to see if they changed any of the error_reporting stuff but as best I can tell it’s still the same as it has been for a while.

AFAIK you’re going to need either Simplepie or Magpie to handle incoming RSS feeds. And Im not sure going back to Magpie is even possible.

Even if you don’t import any feeds yourself, the blog does for the ACP.

I’m wondering, are you running in DEBUG mode?

what’s debug mode and how would I know?

I suppose there could be another file define()ing it somewhere (one if your plugins, the theme?), but generally it’s in the wp-config.php file if anywhere.

.....
/**
 * For developers: WordPress debugging mode.
 *
 * Change this to true to enable the display of notices during development.
 * It is strongly recommended that plugin and theme developers use WP_DEBUG
 * in their development environments.
 */
define('WP_DEBUG', false);
.....

Well the one in the wp-config file was false. I’ll do a search and see if I find another one. The only other thing I wonder about is when I first downloaded the wampserver I was taking a class at lynda.com and they had us put in the zend framework in the php. could that be affecting all this. i just activated the pages posts plugin and got this:

Deprecated: Assigning the return value of new by reference is deprecated in C:\wamp\www
lcc\blog\wp-content\plugins\pages-posts\functions.php on line 138

Deprecated: Assigning the return value of new by reference is deprecated in C:\wamp\www
lcc\blog\wp-content\plugins\pages-posts\functions.php on line 151

Deprecated: Assigning the return value of new by reference is deprecated in C:\wamp\www
lcc\blog\wp-content\plugins\pages-posts\functions.php on line 166

Deprecated: Assigning the return value of new by reference is deprecated in C:\wamp\www
lcc\blog\wp-content\plugins\pages-posts\functions.php on line 179

The only other place I found the word debug after doing a search in the wp folder was in javascript folders and few plugins. nothing too interesting. And the spry asset folder. Nothing that said “true”

I’m at a loss. If the ini file isn’t setting them to be reported, and the config or any other files aren’t setting WP_DEBUG to true, I can’t think of what would be turning them on. I imagine it has to do with something that works with errors. If not a WP_DEBUG constant, an error_reporting() line in one of the files somewhere that’s over-riding the settings?

Probably be a pain I know, but it might be worth checking the files for “error_reporting” lines.

But first - If you upload this file to your top level folder, what to you get when you run it?

<?php
echo ini_get('error_reporting');
?>

so is my top level folder the apache folder? or something else in my wamp folder? Sorry for being so clueless.

what if I change this
display_errors = On
in the php.ini file to off.

is that a good idea or would I break something?