J'ai un problème dans WordPress où PHP se meurt. J'ai augmenté la mémoire, mais le processus PHP passe à 100% d'utilisation du processeur, puis meurt et Apache génère une erreur de 500.
J'ai essayé d'obtenir qu'Apache enregistre quelque chose, ou PHP / MySQL pour enregistrer une erreur mais rien n'est enregistré autre qu'une erreur générale 500.
Le problème 500 est sur la page de liste, par exemple:
/wp-admin/edit.php?post_type=artist
Nous avons actuellement plus de 1200 entrées d'artistes dans WordPress, si j'ajoute un tri de date comme celui-ci:
/wp-admin/edit.php?post_type=artist&orderby=date
Ensuite, la liste se charge bien, rapidement même! Je me suis assis et j'ai regardé le journal des requêtes MySQL et il semble que WordPress charge les métadonnées pour chaque publication (toutes les 1200) afin de produire la liste de 10 environ. Pour une seule des requêtes, cela renvoie 92000 lignes. J'utilise des champs personnalisés avancés et un modèle avec son propre cadre, donc chaque article a un bon morceau de métadonnées attachées. Je pense que c'est trop de données pour PHP à traiter et je frappe un plafond ici. Les 1 200 postes devraient doubler facilement au cours de la prochaine année.
Comment puis-je forcer le chargement initial de la page pour ajouter le tri de date ou résoudre le problème de chargement de toutes ces métadonnées?
default-storage-engine=MyISAM innodb_file_per_table=1 max_allowed_packet=268435456 open_files_limit=10000 query_cache_size=64M log_slow_queries = 1 log-slow-queries=/var/log/mysql.slow.log log-error=/var/log/mysqld.log general_log_file = /var/log/mysql_general.log
Réponses:
Essayez de changer la hiérarchie: faux dans votre définition CPT (si votre application le permet).
Lorsque les CPT sont définis sur hiérarchique: vrai, tous les messages seront interrogés dans le tableau de bord d'administration, ce qui peut entraîner des problèmes de mémoire.
la source
Le problème était que le CPT était réglé sur hiérarchique, en le changeant en hiérarchique: false dans le functions.php a résolu le problème.
la source