[Risolto] Fatal error: Maximum execution time of 30 seconds exceeded in \wp-includes\class-http.php on line 1078
Se wordpress vi da problemi nell’aggiornamento fornendo un errore del tipo :
Fatal error: Maximum execution time of 30 seconds exceeded in [vostro url]\wp-includes\class-http.php on line 1078
per risolverlo basterebbe modificare il massimo tempo di esecuzione degli script nel file php.ini. tuttavia ciò è altamente sconsigliato per conseguenze negative sulle prestazioni.
Per risolvere facilmente il problema senza compromettere le prestazioni generali basta inserire all’inizio del file \wp-includes\class-http.php la seguente espressione:
set_time_limit (0);
in tal modo solo per questa pagina vengono eliminati i limiti di tempo e voi potete aggiornare tranquillamente il vostro blog.
WP-Modificare la posizione di sharedaddy in un post
Dal plugin-editor seleziona Jetpack e quindi jetpack/modules/sharedaddy/sharing-service.php.
Scolla il file nell’editor fino in fondo. Quasi alla fine (circa 3 righe dalla fine) troverai le seguenti espressioni:
add_filter( ‘excerpt_length’, ‘calculate_excerpt_length’ );
add_filter( ‘the_content’, ‘sharing_display’, 19 );
add_filter( ‘the_excerpt’, ‘sharing_display’, 19 );
I filtri vanno a modificare i testi presenti nel blog ed in particolare “the_content”, ovvero il testo dell’articolo.
Dalla pagina del codex di wordpress (http://codex.wordpress.org/Function_Reference/add_filter) possiamo leggere la sintassi del comando add_filter:
add_filter( $tag, $function_to_add, $priority, $accepted_args );
Ed in particolare:
- $priority
- (integer) (optional) Used to specify the order in which the functions associated with a particular action are executed. Lower numbers correspond with earlier execution, and functions with the same priority are executed in the order in which they were added to the action.
Default: 10
Il parametro $priority ci da informazioni su quale filtro è eseguito prima e quale dopo. Valori più bassi fanno eseguire il filtro prima.
Nel mio caso avevo sul blog il plugin Quick Adsense che modifica il testo e alla fine di esso aggiunge le pubblicità di google. Solamente che esse comparivano prima del testo di condivisione di ShareDaddy e quindi le voci di condivisione erano molto meno visibili, poichè posto in fondo, dopo la pubblicità (e non prima come volevo io).
Questi sono i filtri di QuickAdsense:
add_filter(‘plugin_action_links’,'ads_plugin_links’,10,2);
add_filter(‘the_content’, ‘process_content’);
Nell’ultima riga, non essendo specificata una priorità, sarà utilizzata quella di default, ovvero 10. Sharedaddy invece (vedi sopra) ha priorità 19, quindi verrà eseguito dopo.
A questo punto, capito il trucco, basta cambiare la priorità ad uno dei due servizi. Io ho scelto di modificare quello di Sharedaddy, impostando la nuova priorità a 9 (invece di 19).
add_filter( ‘the_content’, ‘sharing_display’, 9 );
Ora verrà eseguito prima Sharedaddy (priorità 9) e poi l’altro plugin (priorità non impostata e quindi 10 di default).
Alternativamente si può togliere il vecchio filtro e riinserirlo correttamente dal file function.php del tema:
remove_filter( 'the_content', 'sharing_display',19); add_filter( 'the_content', 'sharing_display', 9 );
Altrimenti per aggiungere un ulteriore barra di condivisione in un altro punto qualsiasi del template si dovrebbe aggiungere nel punto voluto la stringa seguente (ma in alcuni casi purtroppo senza altre modifiche viene visualizzata solo una barra nella pagina… ):
<?php echo sharing_display(); ?>
Fonti utili:
[Risolto] – Jommla error – Strict Standards: Non-static method JApplication::getMenu()
Con alcune versioni di easyphp si verifica un errore nella visualizzazione del proprio sito joomla.
L’errore è del tipo:
Strict Standards: Non-static method JLoader::import() should not be called statically in I:\EasyPHP\www\Joomla_1.5.22_ita-Stable\libraries\joomla\import.php on line 29
Strict Standards: Non-static method JLoader::register() should not be called statically in I:\EasyPHP\www\Joomla_1.5.22_ita-Stable\libraries\loader.php on line 71
Strict Standards: Non-static method JLoader::load() should not be called statically in I:\EasyPHP\www\Joomla_1.5.22_ita-Stable\libraries\loader.php on line 161
Strict Standards: Non-static method JRequest::clean() should not be called statically in I:\EasyPHP\www\Joomla_1.5.22_ita-Stable\libraries\joomla\import.php on line 33
Strict Standards: Non-static method JRequest::_cleanArray() should not be called statically in I:\EasyPHP\www\Joomla_1.5.22_ita-Stable\libraries\joomla\environment\request.php on line 463
Per risolvere il problema basta modificare il file php.ini e togliere la visualizzazione degli errori.
Fare click con il tasto destro sull’icona di easyphp nella trayicon e selezionare configurazione e quindi php. Si aprirà il file php.ini nel blocco note. Fate cerca “display_errors” e modificate il valore della variabile da on a off:
1° metodo: disattivare tutti gli errori
Prima:
; Possible Values:
; Off = Do not display any errors
; stderr = Display errors to STDERR (affects only CGI/CLI binaries!)
; On or stdout = Display errors to STDOUT
; Default Value: On
; Development Value: On
; Production Value: Off
; http://php.net/display-errors
display_errors = On
Dopo :
; Possible Values:
; Off = Do not display any errors
; stderr = Display errors to STDERR (affects only CGI/CLI binaries!)
; On or stdout = Display errors to STDOUT
; Default Value: On
; Development Value: On
; Production Value: Off
; http://php.net/display-errors
display_errors = Off
Ho mostrato anche le altre righe per poter darvi un riferimento all’interno del blocco di testo.
2° metodo: disattivare solo gli errori strict
Questo altro metodo non elimina la visualizzazione di tutti gli errori, ma solo di quelli strict. Infatti per chi programma risulta molto utile visualizzare gli errori generati nel codice in modo da poterli prontamente correggere.
Dovete cercare nel file php.ini “error_reporting” e cancellare “|E_STRICT”:
prima:
error_reporting = E_ALL | E_STRICT
dopo:
error_reporting = E_ALL
Riepilogo
Ecco il listato completo con evidenziate in rosso le uniche 2 righe che dovete modificare.
la riga blu indica la riga da modificare con il 2° metodo, ovvero cancellare “|E_STRICT”
la riga in rosso indica la riga da modificare con il 1° metodo, ovvero cambiare on in off (qui sotto è riportato ancora come on, visto che è stato applicato il 2°metodo)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; This directive informs PHP of which errors, warnings and notices you would like
; it to take action for. The recommended way of setting values for this
; directive is through the use of the error level constants and bitwise
; operators. The error level constants are below here for convenience as well as
; some common settings and their meanings.
; By default, PHP is set to take action on all errors, notices and warnings EXCEPT
; those related to E_NOTICE and E_STRICT, which together cover best practices and
; recommended coding standards in PHP. For performance reasons, this is the
; recommend error reporting setting. Your production server shouldn’t be wasting
; resources complaining about best practices and coding standards. That’s what
; development servers and development settings are for.
; Note: The php.ini-development file has this setting as E_ALL | E_STRICT. This
; means it pretty much reports everything which is exactly what you want during
; development and early testing.
;
; Error Level Constants:
; E_ALL – All errors and warnings (includes E_STRICT as of PHP 6.0.0)
; E_ERROR – fatal run-time errors
; E_RECOVERABLE_ERROR – almost fatal run-time errors
; E_WARNING – run-time warnings (non-fatal errors)
; E_PARSE – compile-time parse errors
; E_NOTICE – run-time notices (these are warnings which often result
; from a bug in your code, but it’s possible that it was
; intentional (e.g., using an uninitialized variable and
; relying on the fact it’s automatically initialized to an
; empty string)
; E_STRICT – run-time notices, enable to have PHP suggest changes
; to your code which will ensure the best interoperability
; and forward compatibility of your code
; E_CORE_ERROR – fatal errors that occur during PHP’s initial startup
; E_CORE_WARNING – warnings (non-fatal errors) that occur during PHP’s
; initial startup
; E_COMPILE_ERROR – fatal compile-time errors
; E_COMPILE_WARNING – compile-time warnings (non-fatal errors)
; E_USER_ERROR – user-generated error message
; E_USER_WARNING – user-generated warning message
; E_USER_NOTICE – user-generated notice message
; E_DEPRECATED – warn about code that will not work in future versions
; of PHP
; E_USER_DEPRECATED – user-generated deprecation warnings
;
; Common Values:
; E_ALL & ~E_NOTICE (Show all errors, except for notices and coding standardswarnings.)
; E_ALL & ~E_NOTICE | E_STRICT (Show all errors, except for notices)
; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors)
; E_ALL | E_STRICT (Show all errors, warnings and notices including codingstandards.)
; Default Value: E_ALL & ~E_NOTICE
; Development Value: E_ALL | E_STRICT
; Production Value: E_ALL & ~E_DEPRECATED
; http://php.net/error-reporting
;error_reporting = E_ALL | E_STRICT
error_reporting = E_ALL; This directive controls whether or not and where PHP will output errors,
; notices and warnings too. Error output is very useful during development, but
; it could be very dangerous in production environments. Depending on the code
; which is triggering the error, sensitive information could potentially leak
; out of your application such as database usernames and passwords or worse.
; It’s recommended that errors be logged on production servers rather than
; having the errors sent to STDOUT.
; Possible Values:
; Off = Do not display any errors
; stderr = Display errors to STDERR (affects only CGI/CLI binaries!)
; On or stdout = Display errors to STDOUT
; Default Value: On
; Development Value: On
; Production Value: Off
; http://php.net/display-errors
display_errors = On
Commenti recenti