20 Nov WordPress Assistance : Augmenter la limite maximale de mémoire WordPress
Grosse crise aujourd’hui. Je bosse sur un site WordPress hébergé chez un hoster dès plus ingrat (c’est pas OVH) : impossible de joindre le service technique et client et la version PHP à disposition est la 5.5. Et bien entendu impossible de l’upgarder alors que l’on est déjà à la version 7.0 chez d’autres hébergeurs !
Pourquoi je te dis ça ? Mandaté par un client, je travaille directement sur l’hébergement (pas en local du coup). Ce dernier souhaite utiliser un template premium et y ajouter des fonctionnalités spécifiques, c’est son choix. Du coup je crée la base de données, j’installe WordPress, je fais ma routine… une fois que le site est en ligne et fonctionnel, je télécharge le template Premium et son Child Theme, j’active.
Ça semble marcher mais en regardant les Systems Status de plus près, j’ai vu ça :
- 1 – PHP Max Input Vars: 1000
- 2 – WP Memory Limit: 256MB
- 3 – PHP Time Limit: 30
Bref l’environnement WordPress et PHP est au plus bas et moi ce que je veux c’est ça :
Voici ce que j’ai testé pour aboutir à de meilleures performances… en conclusion, je te dis ce que j’ai vraiment fais.
Attention : les méthodes présentées ci-dessous sont des méthodes courantes et approuvées. Mais toutefois sache que ça peut marcher ou pas suivant les cas. C’est à dire que ça va dépendre en majeure partie des restrictions imposées par ton hébergeur. Du coup si ton hébergeur est tout cheap avec trop de restrictions, la meilleure solution est de changer d’hébergeur sur le champ ! Je ne te conseille même pas d’upgrader.
Du coup, y a pas 36 solutions mais y en a plusieurs, allez on enfile son pyjama, on retrousse les manches et on est parti pour augmenter la limite maximale de mémoire WordPress.
1 – PHP Max Input Vars : créer un fichier php.ini
Le PHP Max Input Vars limite le nombre de variables d’entrée, cette limitation affecte les variables $ _GET, $ _POST et $ _COOKIE
. Du coup ça peut affecter les différentes actions et procédures d’installation.
Crée un fichier avec un éditeur de texte, nomme-le php.ini. Puis copie/colle le code suivant :
php_value max_input_vars 3000
Sauvegarde le fichier.
Télécharge-le dans ton FTP, à la racine de tes dossiers.
Retourne sur ton site WordPress, rafraîchis-le, puis checke si on a franchi les 3000 ou si rien à changer. De mon côté rien n’a changé.
Si cela ne fonctionne pas ou même ça te sort une erreur. Contacte le service technique de ton hébergeur pour avoir plus de renseignement sur le sujet. Et retire le fichier php.ini pour ne pas s’encombrer.
2 – WP Memory Limit : ajouter 2 lignes de codes dans ton fichier wp-config.php
Juste une chose avant de se lancer : essaie de savoir en amont du côté de chez ton hébergeur, la limite de mémoire PHP mise à disposition. Si la limite est inférieure à 32 Mo, autant te dire que ton site WordPress va ramer dans ces actions de chargement, de mises à jour…
D’après le codex WordPress, la procédure est la suivante :
Connecte-toi à ton client FTP, et rechercher dans le dossier racine le fichier wp-config.php. Une fois trouvé, clic droit et afficher/éditer.
Une fois ouvert, copie et colle les 2 lignes de code ci-dessous, à partir de la ligne 61 dans le fichier .wp-config.php qui s’est ouvert.
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');
Enregistre ton fichier, puis valide en pressant le bouton bleu OK.
Va sur ton site rafraîchis la page et regarde le changement de limite sur tes Status. On est passé de 256M à 512M.
Au moins ça c’est validé.
3 – PHP Time Limit: (re)crée un dossier php.ini et joue avec ton .htaccess
Avant de te lancer dans cette manipulation va voir ce qu’en dise tes conseillers techniques si comme moi tu n’arrives toujours pas à les joindre. Suis les conseils.
Le PHP Time Limit est la durée que ton site passe sur une seule opération avant d’expirer. Dès qu’une action atteint la limite de temps définie, elle renvoie une Fatal Error. Un message comme ceci apparaît : « Fatal error: Maximum execution time of 30 seconds exceeded. »
Voici la procédure à exécuter d’après les codex de WordPress.org :
https://codex.wordpress.org/Common_WordPress_Errors#Maximum_execution_time_exceeded
Tiens je te partage la screenshot. J’ai tenté à plusieurs reprises de faire l’action et à ça me pète une Internal Error ou erreur 500.
Premièrement, dans le fichier .htaccess situé à la racine de ton ftp, colle ce code ci : php_value max_execution_time 300
, et sauvegarde.
Note : dans le fichier .htaccess colle ton code avant :
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Deuxièmement, édite ou crée un nouveau fichier php.ini et viens y coller le code suivant : max_execution_time = 300 puis sauvegarde
De mon côté rien à bouger.
Conclusion
Seule l’action WP Memory Limit a fonctionné, le reste n’a pas été concluant. De plus à ce jour je n’ai pas eu de retour de l’hébergeur. Impossible donc travailler dans ces conditions. J’ai donc migrer mon site chez un autre hébergeur. Et j’ai enfin eu tous les bugs réparés simplement en souscrivant à une offre bien moins chère.
Et c’est ainsi que se termine ce WordPress Assistance : Augmenter la limite maximale de mémoire WordPress. Cheers
No Comments