Na moim serwerze działa PHP 5.3, a moja instalacja WordPress wypluwa na mnie te błędy, powodując awarię sesji session_start ().
Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 647
Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 662
Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 669
Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 676
Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 712
To denerwujące, ale nie chcę wyłączać raportowania błędów na ekranie. Jak wyłączyć te uciążliwe przestarzałe ostrzeżenia?
Używam WordPress 2.9.2.
php
wordpress
deprecation-warning
atwellpub
źródło
źródło
Odpowiedzi:
Możesz to zrobić w kodzie, wywołując następujące funkcje.
lub
źródło
mysql
który jest przestarzały. Powinieneś przynajmniej przełączyć się namysqli
Musiałem to dostosować
źródło
Aby uzyskać tylko te błędy, które powodują, że aplikacja przestaje działać, użyj:
Spowoduje to zaprzestanie wyświetlania powiadomień, ostrzeżeń i przestarzałych błędów.
źródło
Wszystkie poprzednie odpowiedzi są prawidłowe. Ponieważ nikt nie podpowiedział, jak wyłączyć wszystkie błędy w PHP, chciałbym o tym tutaj wspomnieć:
error_reporting(0); // Turn off warning, deprecated, // notice everything except error
Ktoś może uznać to za przydatne ...
źródło
Właśnie spotkałem się z podobnym problemem, w którym wtyczka SEO wyświetlała dużą liczbę ostrzeżeń, powodując, że wykorzystanie mojego dysku bloga przekroczyło limit planu.
Dowiedziałem się, że musisz dołączyć polecenie error_reporting po wymaganym przez wp-settings.php pliku wp-config.php:
require_once( ABSPATH .'wp-settings.php' ); error_reporting( E_ALL ^ ( E_NOTICE | E_WARNING | E_DEPRECATED ) );
w ten sposób żadne ostrzeżenia, uwagi ani przestarzałe wiersze nie są dodawane do pliku dziennika błędów!
Testowane na WordPress 3.8, ale myślę, że działa przy każdej instalacji.
źródło
W pliku wp-config.php można znaleźć stałą WP_DEBUG. Upewnij się, że ma wartość false.
define('WP_DEBUG', false);
To jest dla WordPress 3.x.
źródło
Musisz edytować plik konfiguracyjny PHP. Znajdź linię
i zamień na:
error_reporting = E_ALL ^ E_DEPRECATED
Jeśli nie masz dostępu do pliku konfiguracyjnego, możesz dodać tę linię do pliku PHP WordPress (np. Headers.php):
źródło
wp-config.php
. Jest przeznaczony do edycji z ustawieniami konfiguracji.Zwykle używam tej metody
W ten sposób nie wyłączam przypadkowo czegoś, czego potrzebuję
źródło
ten błąd występuje, gdy zmienisz wersję php: bardzo łatwo jest pominąć ten komunikat o błędzie
Aby ukryć komunikat o błędzie DEPRECATED, po prostu dodaj poniższy kod do pliku index.php:
init_set ('display_errors', False);
źródło