Sauter la navigation

Il s'agit du forum d'assistance technique de WPML, le plug-in multilingue pour WordPress.

Il est accessible à tous, toutefois seuls les clients de WPML peuvent y publier leurs messages. L'équipe du WPML répond sur le forum 6 jours par semaine, 22 heures par jour.

Ce sujet contient 20 réponses, a 2 voix.

Dernière mise à jour par francoisT-16 Il y a 1 année et 11 mois.

Assisté par: Nicolas V..

Auteur Articles
février 23, 2023 à 12:14 pm #13098525

francoisT-16

Bonjour Nicolas,

Un grand MERCI !

Effectivement, en étant sur la page d'édition du formulaire Contact Form 7, j'ai basculé la langue via le sélecteur en haut de l'écran puis j'ai pu éliminer les "=" responsables du problème.

--------------------

Erreur 500 aléatoires :

Je suis un peu face à un mur pour les erreurs 500.
O2switch m'indique que le serveur est impeccable d'après eux. Après la reproduction complète du site déjà effectué, je vais maintenant migrer le site sur un autre serveur pour voir si ça change quelque chose.

Si je désinstalle Loco Translate, comment puis-je personnaliser certaines traductions de ma langue principale via WPML ? (traduction du thème et de WooCommerce principalement).

Puis-je laisser ce ticket ouvert le temps d'en savoir plus sur ces erreurs et pour vous laisser des accès à la version de dev ?

Bonne journée

février 23, 2023 à 12:21 pm #13098633

Nicolas V.
Supporter

Les langues: Anglais (English ) Français (Français )

Fuseau horaire: America/Lima (GMT-05:00)

Re bonjour,

Malheureusement pour les erreurs 500 je ne peux pas trop vous aider étant donné que ce sont des erreurs serveur. Mais votre hosting devrait pourvoir au moins vous donner les logs de ces erreurs non?

Maintenant en ce qui concerne la traduction du thème et de WooCommerce. Justement le menu que j'évoquai "WPML > Localisation du thème et des plugins" permet de scanner vos thèmes et plugins pour trouver les chaînes de textes.

Ensuite il suffit d'aller "WPML > Traduction de chaînes" pour effectuer les traductions.

Je laisse le ticket ouvert et réactive le champ privé.

Nico

février 24, 2023 à 3:28 pm #13109709

Nicolas V.
Supporter

Les langues: Anglais (English ) Français (Français )

Fuseau horaire: America/Lima (GMT-05:00)

Bonjour,

Oui il est préférable de rester sur PHP 8.0 pour le moment, j'ai vu des erreurs 'PHP Deprecated' même pour WooCommerce et WordPress n'est pas pas encore compatible à 100% pour PHP8.1+ apparemment.
Ref: https://make.wordpress.org/core/handbook/references/php-compatibility-and-wordpress-versions/

Pour Loco Translate, je viens de comprendre. Vous voulez changer le texte d'une chaine dans la langue source. Dans ce cas l'astuce est bonne!

Concernant les erreurs 500, maintenant que vous avez un site staging activez WP_DEBUG
Accédez à votre serveur via FTP et ouvrez wp-config.php (à la racine de votre installation WordPress).
Insérez ces lignes just avant /* That's all, stop editing! Happy blogging. */

define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Faites vos tests et si le problème se reproduit, accédez au fichier debug.log ici: /wp-content/debug.log et copiez/collez l'information dans votre prochaine réponse.
Plus d'info: https://wordpress.org/support/article/debugging-in-wordpress/

Je laisse ce ticket ouvert dans le cas ou l'erreur prendrai quelques jours à réapparaitre.

février 25, 2023 à 11:50 am #13113617

francoisT-16

Bonjour Nicolas,

OK je reste en PHP 8.0 même si sur votre lien, la 8.0 est aussi en "Y*" (compatibilité en beta). Seule la 7.4 est frappée d'un "Y" mais peut importe, je ne pense pas que mes erreurs 500 y soient liées.

J'avais bon espoir que les erreurs 500 soient derrière moi car hier je n'en ai pas constaté. Malheureusement ce matin elles sont de retour (par contre je n'en ai pas vu sur le site de dev).

Sur le site de prod j'ai depuis quelques jours dans wp-config :

define( 'WP_DEBUG', true );

/* Add any custom values between this line and the "stop editing" line. */
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
define( 'DISABLE_WP_CRON', true );
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );

La limite de mémoire PHP (via Cpanel) est réglée à 512 pour être raccord avec la valeur que j'ai indiqué dans WP_MAX_MEMORY_LIMIT

J'avais suivi ce guide :
https://wpml.org/faq/checklist-before-opening-a-ticket-in-wpml-support/#how-to-increase-your-sites-memory-limit

Le Cron est géré via le Cpanel avec une requete de type :
/opt/alt/php80/usr/bin/php -q "/home/XXXX/xxxx.com/wp-cron.php"

Voici l'unique erreur notée dans le debug.log de WordPress (elle est répétée 6 fois le 24-Feb-2023 08:29:54 UTC et 3 fois le 24-Feb-2023 15:22:59 UTC) :

PHP Warning: mysqli_real_connect(): (HY000/1203): User XXXXX_XXXX already has more than 'max_user_connections' active connections in /home/XXXXX/XXX.com/wp-includes/class-wpdb.php on line 1775

A chaque fois qu'une erreur 500 apparait, une simple connexion au backend de WordPress suffit à la faire disparaitre.

Mes nouveaux tests :
- retrait de l'intégration de Google Tag Manager (des fois qu'une erreur d'intégration puisse causer des erreurs 500 aléatoires...)

Futurs tests :
- retrait de l'intégration de script de newsletter (non présent sur la version de dev)
- changement complet de serveur

Merci Nicolas.
Bonne journée.

février 25, 2023 à 4:24 pm #13114171

Nicolas V.
Supporter

Les langues: Anglais (English ) Français (Français )

Fuseau horaire: America/Lima (GMT-05:00)

Bonjour,

Merci pour c'est précisions. Je ne suis pas un expert en base de données et pour être honnête cela bien au-delà de notre support mais cela semble être un problème de connexion à la base de données 'max_user_connections'
Votre 'user' dépasse le nombre de connexions autorisées.

- Peut être que votre précédente connexion reste active?
- Pourriez vous donner cette erreur au support de O2switch?
- Essayez de vous connecter depuis un autre navigateur ou d'effacer tous les cookies de votre site sur le navigateur actuel

Nico

février 25, 2023 à 5:08 pm #13114305

francoisT-16

Bonjour Nicolas,

Je comprend. Rien ne dis que le problème soit lié à WPML.

O2Switch ne remarque rien de spécial côté serveur. Il disent que si les erreurs 500 sont liées au log "max_user_connections" c'est un problème de requêtes SQL massives.
Il m'ont fait installer le plugin WordPress "Query Monitor" et donner quelques astuces Cpanel pour vérifier l'usages des ressources.

Voici ce qu'il en ressort :
- Cpanel : aucun dépassement des ressources serveur (très généreuses chez O2Switch)
- PhpMyAdmin : table la plus grosse (>13mo) = icl_strings (elle est liée à WPML ?)
- Query Monitor (voir screen) : 2 requêtes dupliqués de "wpml-string-translation" + beaucoup de requêtes liées à WPML (c'est sans doute normale ?)

Je fais des sites régulièrement pour des clients (c'est mon métier) mais là je suis un peu dépassé par cette erreur.
Seul WPML est nouveau pour moi dans l'environnement et plugins utilisés. Bien sûr, rien ne garantie que le problème soit lié.

Bon week-end Nicolas.

Capture d'écran_20230225_175749.png
Capture d'écran_20230225_175641.png
Capture d'écran_20230225_175126.png
février 27, 2023 à 2:23 pm #13125477

Nicolas V.
Supporter

Les langues: Anglais (English ) Français (Français )

Fuseau horaire: America/Lima (GMT-05:00)

Bonjour,

Moi aussi je suis un peu dépassé car les problèmes serveur vont au-delà de notre politique de support.
Ce que je peux vous dire c'est que les requêtes sont normales et que oui les tables commençant par icl_ sont les tables de WPML. Il est normal que icl_strings sont assez large car cette table enregistre toutes les chaînes de textes de votre site.

Je me suis reconnecté au site dev et j'ai rescanné WooCommerce et WordPress depuis "WPML > Localisation du thème et des plugins". Pourriez vous vérifier si vous avez une nouvelle erreur ModSecurity car c'est l'erreur qui avait /wp-admin/admin.php?page=sitepress-multilingual-cms%2Fmenu%2Ftheme-localization.php comme referrer.

Nico

février 27, 2023 à 5:41 pm #13127773

francoisT-16

Bonjour Nicolas,

Ci-dessous les erreurs relevées sur le dev :

error_log dans racine sous-domaine (4 fois en 2min) :

[27-Feb-2023 14:14:23 UTC] PHP Warning: file_get_contents(/home/xxxx/xxxx.com/wp-content/plugins/wp-file-manager/file_folder_manager.php): Failed to open stream: No such file or directory in /home/xxxxx/xxxx.com/wp-includes/functions.php on line 6620

----

error_log dans wp-admin (7 fois à la même heure mais c'était la semaine dernière) :

[21-Feb-2023 21:07:44 UTC] PHP Warning: Undefined property: stdClass::$status_id in /home/xxxxxx/xxxx.com/wp-content/plugins/sitepress-multilingual-cms/classes/ATE/class-wpml-tm-ate.php on line 57

----

Le debug.log n'était pas actif dans wp-config au moment de votre scan. Je viens de le réactiver et relancer un scan de WooCommerce (je n'ai pas trouvé comment rescanner WordPress à cet endroit)

----

Voici le debug_log du dev à l'issue du scan WooCommerce :

PHP Warning: file_get_contents(/home/xxxxx/xxxx.com/wp-content/plugins/wp-file-manager/file_folder_manager.php): Failed to open stream: No such file or directory in /home/xxxxx/xxxxx.com/wp-includes/functions.php on line 6620

PHP Warning: Trying to access array offset on value of type null in lien caché on line 662

----

De son côté, le debug.log actif sur le site de prod indique de nombreuses fois par jour :

PHP Warning: mysqli_real_connect(): (HY000/1203): User xxxxx_xxx already has more than 'max_user_connections' active connections in /home/xxxx/xxx.com/wp-includes/class-wpdb.php on line 1775

PHP Warning: Trying to access array offset on value of type null in lien caché on line 662
PHP Warning: Trying to access array offset on value of type null in lien caché on line 663

-----------------------------------

J'ai trouvé un cas qui semble assez similaire au miens :

https://wpml.org/forums/topic/wmpl-seams-to-make-server-reach-its-max-resources-before-crashing/

Je vais voir avec O2Switch pour avoir un serveur digne de ce nom capable de faire tourner WPML.

Bien cordialement.

février 28, 2023 à 12:20 am #13130079

Nicolas V.
Supporter

Les langues: Anglais (English ) Français (Français )

Fuseau horaire: America/Lima (GMT-05:00)

Bonjour,

[21-Feb-2023 21:07:44 UTC] PHP Warning: Undefined property: stdClass::$status_id in /home/xxxxxx/xxxx.com/wp-content/plugins/sitepress-multilingual-cms/classes/ATE/class-wpml-tm-ate.php on line 57

Cela correspond à la date à laquelle je travaillais sur le Formulaire de contact

PHP Warning: file_get_contents(/home/xxxxx/xxxx.com/wp-content/plugins/wp-file-manager/file_folder_manager.php): Failed to open stream: No such file or directory in /home/xxxxx/xxxxx.com/wp-includes/functions.php on line 6620

Rien d'inquietant ici, c'est juste que le plugin WP File Manager a mal enregistré son "file header" donnant les meta-infos

/**
  Plugin Name: WP File Manager
... **/

au lieu de

/*
  Plugin Name: WP File Manager
... */

PHP Warning: Trying to access array offset on value of type null in lien caché on line 662

Cette erreur ne vient pas de WordPress mais de WP-CLI: lien caché

---

Concernant le ticket que vous venez de partager, vous avez:
Version du serveur 10.6.12-MariaDB
Nombre maximal de connexions 500

La seule chose que je vois sur le site DEV c'est que vous avez WP_MEMORY_LIMIT 40M mais en relisant notre conversation il semble que vous avez 256M sur le site de PROD. Par contre je n'avait pas remarqué que vous avez désactivé WP_CRON. Il y a certaines fonctions de WPML qui dépende de cela: https://wpml.org/documentation/support/cron-jobs-run-by-wpml-and-woocommerce-multilingual/

février 28, 2023 à 1:43 pm #13136145

francoisT-16

Bonjour Nicolas,

Merci pour vos remarques sur les erreurs.
La plus présente semble être celle concernant WP-CLI.
Je vais demander à O2Switch ce qu'ils en pense et s'il est possible de mettre à jour WP-CLI (je ne sais pas comment voir sa version) car le problème semble connu sur d'anciennes versions de WP-CLI :

lien caché

Effectivement sur le site de prod j'ai dans wp-config :

define( 'WP_DEBUG', true );

/* Add any custom values between this line and the "stop editing" line. */
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
define( 'DISABLE_WP_CRON', true );
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );

Je désactive toujours le CRON natif à WordPress qui n'est pas optimale car basé sur les visites (il ne se lance pas assez souvent si on a peu de visites et trop souvent à l'inverse).

Je le remplace donc toujours par un CRON géré au niveau Cpanel avec une commande déclenché 2 fois par heures :

/opt/alt/php80/usr/bin/php -q "/home/xxxxx/xxxx.com/wp-cron.php"

Savez-vous si cette fréquence est suffisante pour WPML ?

Sur le site en production, j'ai une erreur visible dans la console Chrome concernant Google Tag Manager. Je me demande si le problème d'erreur 500 ne vient pas de là.

Après votre réponse, nous mettrons fin à ce ticket car mon problème n'est peut être pas lié à WPML.

Bonne continuation Nicolas et merci pour votre aide depuis quelques jours.

février 28, 2023 à 5:12 pm #13138475

francoisT-16

Concernant l'erreur WP-CLI :

PHP Warning: Trying to access array offset on value of type null in lien caché on line 662
PHP Warning: Trying to access array offset on value of type null in lien caché on line 663

Malgré que l'erreur semblait être liée à un souci de version de WP-CLI (à en croire : lien caché), O2Switch me répond :

"WP-CLI est actuellement à la dernière version disponible, il ne sera donc pas possible de corriger cette erreur comme cela. Nous n'avons pas eu d'autre remonté de ce type."

Savez-vous Nicolas si WPML utilise WP-CLI ?

Cordialement

février 28, 2023 à 7:06 pm #13139085

francoisT-16

Bonjour Nicolas,

Le site vient encore de tomber sous les erreurs 500.
Comme à chaque fois, la simple connexion au backend suffit à relancer la machine.

Une fois connecté, le plugin WordPress "Query Monitor" indiquait un "Appel d'API HTTP" en erreur 500 (screenshot jointe) pour le composant "sitepress-multilingual-cms", appelant "WPML\C\R\Status->pingRestEndpoint()" et url "lien caché"

Je vais voir avec mon client pour désactiver WPML quelques temps pour l'éliminer du banc des suspects.

Merci à vous.

Capture d'écran_20230228_193102.png
mars 1, 2023 à 1:23 pm #13145251

Nicolas V.
Supporter

Les langues: Anglais (English ) Français (Français )

Fuseau horaire: America/Lima (GMT-05:00)

Bonjour,

Je viens de vérifier et REST API est bien activé sur votre site PROD. De mon côté je vais aussi demander à notre équipe de deuxième niveau pour voir s'ils ont une idée.

Nico

mars 1, 2023 à 1:58 pm #13145541

Nicolas V.
Supporter

Les langues: Anglais (English ) Français (Français )

Fuseau horaire: America/Lima (GMT-05:00)

Re bonjour,

Voila c'est fait. J'ai fait remonté tous les logs partagés avec mes observations pour chacun d'entre eux.

Je reviens vers vous si j'ai un feedback. De votre côté, tenez moi informé si les erreurs 500 continuent après la désactivation de WPML.

Nico

mars 1, 2023 à 11:22 pm #13149761

Nicolas V.
Supporter

Les langues: Anglais (English ) Français (Français )

Fuseau horaire: America/Lima (GMT-05:00)

Re bonjour,

Le deuxième niveau semble d'accord avec moi. Voici le feedback log par log:
Log 1:

[Tue Feb 21 09:55:34] [:error] [pid XXXX:tid XXXXXXXXX] [client XXXX] [client XXXX] ModSecurity: Warning. Matched phrase "/config.php" at ARGS:files[]. [file "/etc/apache2/conf.d/modsec_vendor_configs/OWASP3/rules/REQUEST-930-APPLICATION-ATTACK-LFI.conf"] [line "98"] [id "XXXXX"] [msg "OS File Access Attempt"] [data "Matched Data: /config.php found within ARGS:files[]: XXX/XXX/wp-content/plugins/woocommerce/packages/action-scheduler/classes/migration/config.php"] [severity "CRITICAL"] [ver "OWASP_CRS/3.3.4"] [tag "application-multi"] [tag "language-multi"] [tag "platform-multi"] [tag "attack-lfi"] [tag "paranoia-level/1"] [tag "OWASP_CRS"] [tag "capec/XXXX/XXX/XXX/XXX"] [tag "PCI/6.5.4"] [hostname "site.com"] [uri "/wp-admin/admin-ajax.php"] [unique_id "Y_SHBifxaeOjyKrZTMmUHAAAAIo"], referer: site.com/wp-admin/admin.php?page=sitepress-multilingual-cms%2Fmenu%2Ftheme-localization.php

Nico: It seems to be a security issue with a WooCommerce file. "WPML > Theme Localization" allows you to scan your theme and plugins. So maybe there is a restriction that prevent WPML to scan your files.
I logged in and was able to rescan WC

George: probably mod_security – server config issue. Contact server hosting for this.

Log 2:

- PHP Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in .../wp-content/plugins/wpml-string-translation/classes/slug-translation/custom-types/wpml-st-slug-translations.php on line 31
- PHP Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in .../wp-content/plugins/wpml-string-translation/classes/slug-translation/custom-types/wpml-st-slug-custom-type.php on line 69
- PHP Deprecated: Using ${var} in strings is deprecated, use {$var} instead in .../wp-content/plugins/sitepress-multilingual-cms/classes/API/REST/class-wpml-ate-proxy.php on line 126

Nico: I asked the client to downgrade from PHP8.2 to PHP 8.0
George: make sure that you translated all slugs properly. re-save translations.

Log 3:

PHP Warning: mysqli_real_connect(): (HY000/1203): User XXXXX_XXXX already has more than 'max_user_connections' active connections in /home/XXXXX/XXX.com/wp-includes/class-wpdb.php on line 1775

Nico: 10.6.12-MariaDB
max de connections 500

George: server side issue and probably MySQL is not configured properly or the server is very busy.

Log 4:

[27-Feb-2023 14:14:23 UTC] PHP Warning: file_get_contents(/home/xxxx/xxxx.com/wp-content/plugins/wp-file-manager/file_folder_manager.php): Failed to open stream: No such file or directory in /home/xxxxx/xxxx.com/wp-includes/functions.php on line 6620
[21-Feb-2023 21:07:44 UTC] PHP Warning: Undefined property: stdClass::$status_id in /home/xxxxxx/xxxx.com/wp-content/plugins/sitepress-multilingual-cms/classes/ATE/class-wpml-tm-ate.php on line 57
PHP Warning: Trying to access array offset on value of type null in <em><u>lien caché</u></em> on line 662

Nico: 1. it's just that WP File manager badly formatted their file header
2. This issue happened when I was trying to fix another issue (contact form) and had to delete the translation job
3. Issue related to WP-CLI (so outside WordPress). Again his hosting replied "we have the latest version available and no other issue has been reported"

George: if this happens only from time to time, perhaps it is related to the server or cache, but I cannot be certain of this.

Log 5:
(see image attached)
Nico: I checked and /wp-json is enabled, I can access /wp-json/wpml/st/v1 and /wp-json/wpml/tm/v1
For me this error seems to be a consequence of the 500’s not the cause.

George: On the screenshot, as far as I can see, the error is for DNS resolution failing. Which means a server-side issue to me.

En résumé:
- À part le log 2 ou vous pouvez vérifier que tous vos slugs sont traduits (dans "WPML > Paramètres" et aussi dans "WooCommerce > WooCommerce Multilingual > Urls de la boutique" (pas obligatoire de traduire les points de terminaison).
- Et le log 5 ou pour la résolution DNS vous pouvez avoir un registrar (là où vous achetez votre domaine) différent de votre hosting (là où vous l'hébergé).
- Je n'ai pas d'autres commentaires à ajouter.

Nico