Salta la navigazione

Questo thread è stato risolto. Ecco una descrizione del problema e della soluzione.

Problema:
Dopo il trasferimento del sito su un nuovo server, il plugin wpml-string-translation genera errori nei log relativi alla restrizione open_basedir.
Soluzione:
Se stai riscontrando errori di restrizione open_basedir con il plugin wpml-string-translation dopo aver trasferito il tuo sito, ti consigliamo di seguire la guida disponibile a questo link.

Se la soluzione proposta non dovesse essere più rilevante o non risolvere il tuo problema specifico, ti invitiamo a verificare le questioni note e a confermare che hai installato le versioni più recenti dei temi e dei plugin. In caso di ulteriori difficoltà, ti raccomandiamo di aprire un nuovo ticket di supporto. Per assistenza aggiuntiva, visita il forum di supporto WPML.

Questo è il forum di assistenza tecnica di WPML, il plug-in multilingue di WordPress.

La sua lettura è permessa a tutti, ma la pubblicazione è riservata esclusivamente ai clienti di WPML. Il team di WPML risponde sul forum 6 giorni su 7, 22 ore su 24.

Etichettato: 

Questo ticket contiene 14 risposte, ha 0 voci.

Ultimo aggiornamento da Paola Mendiburu 1 mese, 1 settimana fa.

Assistito da: Paola Mendiburu.

Autore Post
Maggio 9, 2025 alle 2:11 pm #17017065

gianluca

sto riscontrando lo stesso problema su due siti diversi. Di seguito riporto un estratto dal log errori del secondo sito interessato (tecnoindustriapi.com), che presenta un comportamento identico a quello già riscontrato su un altro progetto:

swift
Copia
Modifica
[09-May-2025 14:07:12 UTC] PHP Warning: file_exists(): open_basedir restriction in effect. File(WP Endpoints-en_US.mo) is not within the allowed path(s): (/home/tecnoindustriapi/:/opt/cpanel/ea-php83/root/usr:/usr/local/lib/php:/tmp:/etc/pki/tls/certs/ca-bundle.crt:/var/cpanel/php/sessions:/usr/local/bin/wp) in /home/tecnoindustriapi/public_html/wp-content/plugins/wpml-string-translation/classes/MO/Hooks/LoadTranslationFile.php on line 82

[09-May-2025 14:07:12 UTC] PHP Warning: file_exists(): open_basedir restriction in effect. File(WP Endpoints-en_US.l10n.php) is not within the allowed path(s): (...) in /wp-content/plugins/wpml-string-translation/classes/MO/Hooks/LoadTranslationFile.php on line 85
Inoltre, riscontro anche un errore fatale sul tema:

thrown in /wp-content/themes/hello-elementor/functions.php on line 273
Sembra che il problema sia legato alla restrizione open_basedir, che impedisce il corretto caricamento di file .mo e .l10n.php utilizzati per le traduzioni.

Potreste gentilmente indicarmi come risolvere questo problema? Esiste una soluzione o una configurazione consigliata per ambienti server con queste restrizioni?

Resto a disposizione per fornire ulteriori dettagli o accessi se necessari.

Grazie in anticipo per l’assistenza.

Maggio 10, 2025 alle 8:31 am #17018613

Paola Mendiburu
Sostenitore di WPML dal 11/2020

Lingue: Inglese (English ) Spagnolo (Español ) Italiano (Italiano )

Fuso orario: Europe/Madrid (GMT+02:00)

Se il sito funziona correttamente e il tuo hosting non ti consente di disabilitare la direttiva open_basedir, ti consiglio di disattivare il debug di WordPress.

Maggio 12, 2025 alle 5:52 am #17020986

gianluca

Buonasera manda in crash il sito...,

l’errore di open_basedir seguente

[11-May-2025 18:52:05 UTC] PHP Warning: file_exists(): open_basedir restriction in effect. File(WP Endpoints-it_IT.l10n.php) is not within the allowed path(s): (/home/mediafrigo/:/opt/cpanel/ea-php83/root/usr:/usr/local/lib/php:/tmp:/etc/pki/tls/certs/ca-bundle.crt:/var/cpanel/php/sessions:/usr/local/bin/wp) in /home/mediafrigo/public_html/wp-content/plugins/wpml-string-translation/classes/MO/Hooks/LoadTranslationFile.php on line 88
viene generato perchè “WP Endpoints-it_IT.l10n.php” non è un percorso valido, è solo un nome di file privo di percorso assoluto o relativo. Questo causa il problema con file_exists() sotto open_basedir. Dunque andando alla riga 88 del file indicato troviamo il seguente codice:

84 $defaultPathPHP = self::replaceMoExtensionWithPhp( $defaultPathFile );
85 if ( file_exists( $defaultPathFile ) ) {
86 return $defaultPathFile;
87 }
88 if ( file_exists( $defaultPathPHP ) ) {
89 return $defaultPathPHP;
90 }
91 return null;
Il problema qui è che il valore della variabile $defaultPathPHP viene generato sbagliato. Andando a fare un DEBUG può essere molto lungo e complicato e sicuramente non di nostra competenza. Ad esempio si dovrebbe andare a vedere dove è definita la funzione replaceMoExtensionWithPhp() e a sua volta andando a ritroso andare a vedere il motivo per cui alla fine il valore del nome del file è sbagliato.

Maggio 12, 2025 alle 5:59 am #17020993

gianluca

buongiorno Paola mi deve scusare ho incollato nella precedente email una risposta del server che ha analizzato ilproblema che ho con il vostro plugin vi riallego la risposta, e vi segnalo che ho lo stesso problema con una altro dominio avevo aperto un altro ticket di asssitenza per segnalare il problema è mi sono accorto solo ora che è simile a quello riscontrato su questa istallazione ... sembra che qualcosa sia andato storto quando ho fatto la migrazione .

Maggio 13, 2025 alle 7:21 am #17025368

Paola Mendiburu
Sostenitore di WPML dal 11/2020

Lingue: Inglese (English ) Spagnolo (Español ) Italiano (Italiano )

Fuso orario: Europe/Madrid (GMT+02:00)

Per spostarlo al secondo livello ho bisogno di quanto segue:
- Rimuovere i plugin WPML e reinstallarli. Potete scaricarli da questa pagina https://wpml.org/it/account/downloads/ "Scarica manualmente WPML "
- Dimmi in quale pagina trovi quell'errore e come lo posso riprodurre