• User

    Fatal error da file media.php. Sapete aiutarmi?

    Ciao,
    sto riscontrando problemi rilevati dal server in merito all?utilizzo di memoria.
    Ho letto dal file log del server un Fatal error che riporto:
    PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 16384 bytes) in /home/e127gk2y/miosito.it/wp-includes/media.php on line 2829
    Questo errore capita spesso. Lo script in questione è questo:
    /**

    • Create new GD image resource with transparency support
    • @todo: Deprecate if possible.
    • @since 2.9.0
    • @param int $width Image width in pixels.
    • @param int $height Image height in pixels..
    • @return resource The GD image resource.
      */
      function wp_imagecreatetruecolor($width, $height) {
      $img = imagecreatetruecolor($width, $height);
      if ( is_resource($img) && function_exists(?imagealphablending?) && function_exists(?imagesavealpha?) ) {
      imagealphablending($img, false);
      imagesavealpha($img, true);
      }
      return $img;
      }
      e la linea 2829 che crea problemi è questa:
      $img = imagecreatetruecolor($width, $height);
      Non sono esperto, ma avete qualcosa da consigliarmi per risolvere questo errore?
      Grazie mille!

  • User Attivo

    Hai accesso alla configurazione di PHP? Puoi comunque aumentare la memoria per Wordpress nel wp-config.php:

    
    define( 'WP_MEMORY_LIMIT', '256M' );
    
    

  • User

    Bene. Ho aumentato il limite massimo di memoria sul server a 256 M (da 128 M) mentre già avevo inserito in wp-config.php il WP_MEMORY_LIMIT a 256 M.
    Non credo però sia questa l'origine del problema.


  • User Attivo

    Uhm rileggendo l'errore sembra che stia cercando di utilizzare piu' di 256MB. Ti succede anche con immagini piu' piccole?


  • User

    Non saprei.


  • Moderatore

    Ciao Aquila34, purtroppo devo dirti che non è una questione del file media. Wordpress è creato per avere un consumo ridotto del memory limit. Gli basta appena un memory_limit di 16M per far fronte a tutte le necessità.
    Detto questo il problema è grave perchè stai utilizzando risorse, solitamente plugins, veramente massicci.
    Per risolvere a tale problematica ti chiedo di eseguire i seguenti passaggi:

    1. Realizza un backup del sito in una sottodirectory e lavora esclusivamente sulla copia
    2. reimposta il memory limit del PHP al suo standard 128M
    3. rimuovi tutti i define per aumentare tale settaggio dal file wp-config.php
    4. Disattiva tutti i plugins di wordpress
    5. Una volta disattivati i plugins, effettua tutte quelle operazioni che creano tale problematica. noterai che non ne riscontrerai più.
    6. Adesso, uno ad uno, riattiva i vari plugin facendo dei test ogni volta che ne attivi uno. Cosi facendo potrai trovare la causa dei tuoi mali.

    Appena hai la causa (plugin), torna qui che vediamo di darti una mano 😉

    EDIT:
    Spesso questo uso massiccio è causato anche da template, quindi aggiungi anche il punto: utilizzo il template base di wordpress.


  • User

    Ah bene grazie per il suggerimento Ultima,
    ma provando queste cose su una sub directory non rischio di pesare ulteriormente il server? Non sarebbe meglio farlo su altro server?
    Anche perchè potrebbe comunque essere sottoposto ad indicizzazione di Google. Non trovi?

    Grazie comunque !


  • Moderatore

    Ciao se hai un piano Vhm o simile inventati un dominio che non esiste (senza registrarlo) e non aggiungerlo nei dns... così lo vedi solo tu.


  • User Attivo

    @Aquila34 said:

    Non saprei.

    Chiedevo perche' l'elaborazione di grosse immagini richiede comunque un bel po' di memoria, che si va ad aggiungere ovviamente a quella richiesta da Wordpress+plugins etc

    @Ultima said:

    Wordpress è creato per avere un consumo ridotto del memory limit. Gli basta appena un memory_limit di 16M per far fronte a tutte le necessità.

    Fonte? Mai sentito di un sito Wordpress che funziona con un limite di soli 16M


  • Moderatore

    @SkyLinx said:

    Fonte? Mai sentito di un sito Wordpress che funziona con un limite di soli 16M
    Wordpress gira benissimo con soli 16M di memoria, tuttavia, dalle versioni 3.2+ è stata inserita una direttiva che abilità il memory size a 40M per il single site e 64M per il multisite. Se vuoi la fonte, la puoi liberamente trovare all'interno del file default-constants.php situato nella root wp-includes.

    Per quanto riguarda il vero problema di Aquila34, se riesce a duplicare il sito (non importa il consumo risorse in quanto nessuno andrà ad usufruirne se non tu per test), per non indicizzarlo puoi agire sui file robots.txt, mettendo la spunta "scoraggia i motori di ricerca", utilizzando un sistema che chiuda la visualizzazione se non loggati, magari non utilizzando un plugin. Un piccolo sistema sarebbe quello di modifcare il file header.php aggiungendo ad inizio del file questa stringa:
    [PHP]
    if( ! is_user_logged_in() ) {
    wp_redirect( 'www.sito-principale.ext' ); exit;
    }
    [/PHP]
    Purtroppo per far fronte a questa problematica, devi lavorare su quel server (o spazio hosting, quello che sia) e cercare di capire per poi modificare/rimuovere la causa del consumo eccessivo.


  • Moderatore

    Ciao
    per non indicizzarlo vedi mio post sopra.


  • User Attivo

    Prova anche a disabilitare i plugin uno per volta, può darsi ce ne sia qualcuno che sta sovraccaricando qualcosa.