web-dev-qa-db-fra.com

Erreur irrécupérable: taille de mémoire autorisée de 146800640 octets épuisés (tentative d'allocation de 57 octets) dans public_html/wp-includes/rewrite.php à la ligne 1561

Je ne sais pas comment/pourquoi c'est arrivé. Je travaillais sur mon site pendant le week-end et c'était bien. Quand je suis arrivé au bureau ce matin, je suis allé sur le site et j'ai obtenu ceci:

Fatal error: Allowed memory size of 146800640 bytes exhausted (tried to allocate 57 bytes) in public_html/wp-includes/rewrite.php on line 1561

J'ai cherché et trouvé des articles offrant des solutions, mais aucun d'entre eux ne fonctionnait pour moi. Ce que j'ai remarqué, c'est que le fichier qui est effectué est généralement différent dans chaque cas. Le mien se trouve être le fichier "rewrite.php". Cela pourrait aider. Autre que cela, je suis perplexe.

Je sais que les plaintes des clients arrivent. Si tout va bien je le répare bientôt.

Quelle serait la cause de ceci, alors je sais ne pas le répéter ( si je l’ai causé). Quelqu'un peut-il aider avec ça?

UPDATE

J'ai défini la limite de mémoire dans le fichier wp-config.php à 64 Mo et la référence de ligne dans l'erreur est maintenant de 836 au lieu de 1561.

Voici le code de la ligne 836:

if ( is_array( $uris ) ) {
            foreach ( $uris as $uri => $pagename ) {
                $this->add_rewrite_tag('%pagename%', "($uri)", 'pagename=');
                $rewrite_rules = array_merge($rewrite_rules, $this->generate_rewrite_rules($page_structure, EP_PAGES));
            }
        }

UPDATE

J'ai résolu le problème. Le problème était en quelque sorte lié aux paramètres de permalien. J'utilise le thème de CouponPress pour wordpress. Après avoir augmenté les limites de mémoire, comme suggéré dans la plupart des solutions (php.ini, wp-config.php, etc.), j'ai simplement changé les permaliens par défaut, puis de nouveau mon permalien personnalisé. Tout semble être revenu à la normale. Pourquoi est-ce arrivé? Je n'ai aucune idée. Soudainement l'erreur est arrivée lundi matin et tout le monde était fou (en colère). Je VOUDRAIS aimerais savoir ce qui a provoqué ceci, afin que je puisse le prévenir à l'avenir si je le peux. Merci à tous ceux qui m'ont aidé à trouver des solutions concrètes.

1
user1893

Il n’ya vraiment rien que quiconque ici puisse faire pour vous avec des informations aussi limitées. C'est évidemment quelque chose dans vos changements récents.

Si vous utilisez un système de contrôle de version (comme tout le monde le devrait), j'annulerais les modifications puis, à partir de là, réimplémenterait lentement les modifications à l'origine de cette erreur pour la localiser et la supprimer.

2
Kevin Langley Jr.

Erreur irrécupérable: la taille de mémoire autorisée de 146800640 octets est épuisée (tentative d'allocation de 57 octets) rend le problème clair dans le message d'erreur. Vous manquez de ressources - mémoire php.

Vous pouvez augmenter la mémoire php ou vous pouvez demander au fournisseur d'hébergement de l'augmenter pour vous.

Il y a plusieurs façons d'augmenter la mémoire php. Certains peuvent fonctionner pour vous et d'autres pas. Si la première méthode ne fonctionne pas pour vous, vous pouvez essayer la suivante.

1.) Définition de la limite de mémoire dans wp-config.php - define('WP_MEMORY_LIMIT', "256M");

2.) Limite de mémoire PHP Directive dans le fichier .htaccess - set php_value memory_limit 256M directive

3.) Changer la limite de mémoire dans php.ini - définissez memory_limit = 256M

4.) Définissez PHP Limite de mémoire pendant l'exécution - directive set ini_set('memory_limit', "256M");

5.) Demandez à votre fournisseur d'hébergement - si rien de ce qui précède n'augmente votre mémoire php, adressez-vous à votre fournisseur d'hébergement.

Créez un fichier info.php et ajoutez phpinfo();. Pour vérifier votre limite de mémoire, ouvrez le fichier domain.com/info.php.

0
Mariethadp