Non-static method utf_normalizer::nfc() should not be called statically - php

At the moment, I am installing PHPBB 3.0.10 and am having this error:
Strict Standards: Non-static method utf_normalizer::nfc() should not be called statically in C:\xampp\htdocs\PHPBB\includes\utf\utf_tools.php on line 1781
I have tried to find an answer for this on the PHPBB boards but have had no luck. I have a bit of background in PHP but don't understand static function calls from dynamic ones. I am using PHP v5.4.4, Apache 2.4.2 and Xampp 1.8.0, if any of that is of relevance. I am also running this on my localhost, not on a remote server.
To induce this error, all I am doing is installing PHPBB. Once I have inserted the Database settings and the Admin account settings, it comes up with this error and won't allow me to continue. I have no extensions installed (ofcourse).
Also, I have not been able to find the nfc function in the file specified. I am unsure as to whether it's in an include though. I also searched inside all files for "function nfc" (excluding quotation marks), but found nothing, and so am unable to use this: Strict Standards: Non-static method STemplate::assign() should not be called statically
. I am aware that this problem is common, and many people have claimed that a certain fix has worked for them, but I have been unable to apply these fixes because they were for earlier versions of PHPBB (i.e. 1.0.4).
I have been able to install PHPBB on localhost in the past, but not now. I currently have no working PHPBB installation.
Thanks for any help given.

I know this is outdated, however rather than suppressing the issue
If you want to properly fix this at the root of the problem,
Open up includes/utf/utf_tools.php
Go to ~line 1663
Replace
utf_normalizer::nfkc($text);
With
$utf_normalizer = new utf_normalizer();
$utf_normalizer->nfkc($text);
unset($utf_normalizer);
I'm still not sure why this hasn't been fixed in a proper release

go to your /includes folder and open up the startup.php
On line ~22 change the line
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);
to
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT);
This may solve your problem =).

I run into a similar problem today after I updated to 3.0.12 and I think the proper solution is to make static all the functions in utf_normalizer.php instead of making non static all the calls to these functions.
BTW this is how it's done in phpbb 3.1.1

Related

Strict Standards Pear error with Jobberbase 2.0

Fresh "Jobberbase 2.0" install on shared hosting, support desk is closed for hours, so I'll ask here in hopes of someone knowing what this is, better than I do, which is zero to none.
It's the same bug that's detailed here:
https://github.com/filipcte/jobberbase/issues/11
I tried what their solution was to no avail, as it's vague to me. I tried the same filename from PEAR current, which has a different line just 1 line before the one called into question in my error.
3 Screenshots of what I'm encountering:
http://imgur.com/tgsxVSj,uCWak31,b7ig83S
When I click on any of the 3 submenus this is my error:
Deprecated: Non-static method PEAR::raiseError() should not be called statically, assuming $this from incompatible context in /home/funkysal/public_html/_lib/CacheLite/Lite.php on line 538
I'm at a loss & appreciate any direction I can come by from users here.
Thanks much,
-C
You can fix this by either upgrading to PEAR 1.10.0dev2, which fixes those E_STRICT errors, or by hiding E_STRICT errors:
<?php error_reporting(error_reporting() & ~E_STRICT & ~E_DEPRECATED); ?>

Strict Standards: Accessing static property JCache::$_handler as non static

I am having an issue with my business website, and it keeps giving me the following errors on my website and login:
Strict Standards: Accessing static property JCache::$_handler as non static in /home/doveheal/public_html/libraries/joomla/cache/cache.php on line 422
Also on my website is this error:
Strict Standards: Only variables should be assigned by reference in /home/doveheal/public_html/plugins/content/jw_allvideos/jw_allvideos.php on line 42
I have seen many tutorials on how to fix it via changing the strict standard settings in XAMPP, but this does not apply to me as I do not use XAMPP. Truth be told, I did not create the website (someone else did and it was handed to me), and I am really struggling to figure out how to solve this problem.
Any help would be appreciated!
You will on your localhost (Xampp) have access to the php.ini file. Open it and search for:
error_reporting =
There will be a value after the = which you need to change to:
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
Once changed, make sure you restart Apache.
This is however somethign you should flag to the developer of jw_allvideos so they can fix it.
Hope this helps

Suppress an error from the logs too

CodeIgniter 2.x still uses the classic mysql. We all know it's bad practice to still use it, but my job still requires me to use CodeIgniter.
I always have my Console.app (OSX) open watching my Apache/MySQL/PHP/CodeIgniter-native error logs.
Now I mostly have all notices/errors/etc. fixed always instantly when I see them and constantly monitor my development with Webgrind on my MAMP.
Back to the start; I constantly have one big annoying thing each page-load PHP always gives the error about mysql_pconnect is going to get deprecated in the future.
In the CodeIgniter driver the command is suppressed by # to not print the warnings to the screen, but it still ends up in my logs.
Is there any viable way to except one such error specifically in either PHP code or the PHP settings?
Locally I could recompile the whole PHP core and just remove the warning, but I would like to have the logs on our production installations rid of those warnings too :P.
Thanks in advance!
Traditionally, you can use set error verbosity using error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED) (i.e., report everything—except notices and deprecation warnings) as mentioned in "disabling deprecated errors".
Your issue may be related to CodeIgniter taking ownership of all errors.
system/core/CodeIgniter.php calls the function set_error_handler. You can find and modify the function _exception_handler it invokes on error in system/core/Common.php. It doesn't appear to be a configurable, so you may simply want to edit the line that begins with $is_error.

Joomla 2.5 Strict Standards

I have this website i am building with Joomla! 2.5. It is a shopping cart and i was building it on my Xampp bu the minute i uploaded it to my server, it doesn't show anything on the front page. The admin section is okay but the front page doesn't show anything. When i turn on error reporting for development, i get the below error.
Strict Standards: Only variables should be assigned by reference in /home/sites/mydomain/public_html/beta/plugins/system/jblibrary/jblibrary.php on line 26
Strict Standards: Only variables should be assigned by reference in /home/sites/mydomain/public_html/beta/plugins/system/jblibrary/jblibrary.php on line 55
Strict Standards: Only variables should be assigned by reference in /home/sites/mydomain/public_html/beta/plugins/system/jatypo/jatypo.php on line 55
Fatal error: t3import not found object: core.libs.browser in /home/sites/mydomain/public_html/beta/plugins/system/jat3/jat3/core/common.php on line 33
I took a look at one of the files throwing the error and the line below seemed like the problem.
$document =& JFactory::getDocument();
I have tried to modify it to;
$document = JFactory::getDocument();
But the error is still thrown. I have also tried switching the PHP versions but the error persists. I just can't seem to figure out why the site is working on my localhost and not on my server. Any ideas? Thanks
The last line of your errors tells you why Joomla is white-screening. The Strict standards warnings are just warnings, they don't stop execution.
Fatal error: t3import not found object: core.libs.browser in /home/sites/mydomain/public_html/beta/plugins/system/jat3/jat3/core/common.php on line 33
A Fatal error is just that, it can't be recovered from.
In this case, your website is crashing because the front-end Joomla is trying to load a T3 based template that in turn tries to load the T3 framework which needs /jat3/jat3/core/common.php and it can't find it on the live server.
If it's working on your Xampp setup then it probably means you didn't move it correctly/move all the files or set the paths up correctly in the configuration.php.
The easiest and safest way to move a site from development to live is to use Akeeba Backup in conjunction with Akeeba Kickstart which will package your development site into a single file and include an installer in it. Then you can upload the backup file and the kickstart file to your server and follow the kickstart documentation to "restore" your development version to the live server.
i had just encountered this error when i deployed my joomla instance from windows to a linux server. t3import is looking for /core/libs/browser.php but the actual filename is Browser.php. Linux is case-sensitive so it didn't find the correct file. i just renamed Browser.php to browser.php and it worked fine.

PHP Deprecated errors won't disappear on WordPress Dashboard

TL;DR : Upgraded PHP on our server which caused a bunch of Deprecated errors to appear in WordPress, tried a number of fixes but the errors won't go away.
PHP Version: 5.3.10
WordPress Version: 3.3.2
I have a WordPress installation that has been up and running for a little while now, with no complaint.
This week, we upgraded PHP on the server to 5.3.10, after the update, the WordPress Dashboard began filling up with errors like this:
Deprecated: Assigning the return value of new by reference is deprecated in /home/random/public_html/wp-includes/class-simplepie.php on line 738
A large number (I suspect 116) of errors like this (each on a different line) appear in
Incoming Links
WordPress Blog
Plugins
As advised by a number of posts around the WordPress forums, I disabled error reporting both at a file level (by adding error_reporting(0); to the top of wp-config.php and/or other files) and using PHP.ini. Phpinfo confirms that error_reporting = 0.
This had no effect, with the warnings still showing up on the dashboard.
I tried disabling all of my plugins and reverting to the default theme (with a mind to enable each one in turn to see if one of them was causing the issue) but the errors continued to appear.
Next, instead of treating the symptom, I went to see if I could fix the cause of the issue.
Getting deprecated error with Simplepie
and
Assigning the return value of new by reference is deprecated
pointed to class-simplepie.php having some out of date syntax inside.
Using find/replace in my text editor I swapped all 166 instances of
=& new
for
= new
And I am still seeing errors on my dashboard.
So, as far as I can see, there should be no errors to report, and if there were, they shouldn't be showing up anyway.
Wordpress is not running in debug mode.
A paste of my phpinfo can be found here: http://pastebin.com/Pk68sDL1 if it is of any use to anyone.
Not sure what to try next. Any tips much appreciated.
D
try this and u will not have this errors:
error_reporting(0);
ini_set("display_errors", "off");
ini_set("display_startup_errors", "off");
Or set the same directives in your php.ini file in your server.
I was having the exact same problem today and I also tried all of the solutions you listed. Eventually I realized that after I replaced
=& new
with
= new
in class-simplepie.php, I also needed to reload the modules in the dashboard. This doesn't seem to happen when you just refresh the browser page, or even hide the module and then show it again.
So I highlighted the Incoming Links module on the Dashboard and clicked Configure. I changed the RSS feed URL to anything else (google.com), hit Submit, and it worked. Refreshed that module with no more deprecated errors from class-simplepie.php. Did the same for the Wordpress Blog module and that also worked.
The only thing I cannot figure out is how to refresh the Plugins module. It doesn't have a Configure option and I can't get it to reload like the others.
Edit: Plugins module works now as well. Just needed time to reset.
I had these warnings as well. I stumbled across a message by a developer of simplepie that this happens with PHP5.3+ and is related to the compatibility to PHP4. Using simplepie v1.3-dev drops this downwards-compatibility and fixes that.
Download from GitHub
Add this to the top of your wp-config.php file, right after the first
error_reporting(0);

Categories