Vota questo articolo :
Questo articolo vi è stato utile ?
Sì
No
Vous avez noté 0 étoile(s)
Sommaire
Procédure
L'errore 500 è un codice di stato della pagina che sta per Internal Server Error. Significa che si è verificato un errore nel server web. Questo errore può provenire dal server web Apache2, dall'interprete PHP, che ha passato l'errore al server web, o dal database MySQL, che ha passato l'errore a PHP e a sua volta lo ha passato al server web. L'aspetto è questo:
Per quanto riguarda altri browser, è possibile che venga visualizzata una pagina vuota senza contenuto:
Per i siti Prestashop, si vedrà una pagina di errore generata da Prestashop:
Per diagnosticare il problema, sarà più pratico visualizzare gli errori direttamente sul vostro sito web (anche se sono visibili nel file error.log
nella cartella log
accessibile tramite il vostro account FTP.
Per visualizzare gli errori PHP, è necessario modificare il file php.ini
del sito web interessato. In ISPConfig, cliccare su Siti e selezionare il sito web in questione:
Fare quindi clic sulla scheda "Opzioni" e aggiungere la seguente riga al campo "Impostazioni php.ini personalizzate":
display_errors = On
È inoltre consigliabile aggiungere la seguente riga per garantire che gli errori vengano segnalati e visualizzati sullo schermo (nel caso in cui lo script lo disabiliti per impostazione predefinita):
error_reporting = E_ALL
Alcuni CMS e framework come WordPress, Prestashop, Symfony, Laravel, ecc. possono ignorare il fatto che display_errors
sia impostato su On
in PHP, poiché hanno i loro sistemi di gestione degli errori.
Per abilitare la modalità di debug su un sito basato su WordPress, è necessario modificare il file wp-config.php
impostando il valore di WP_DEBUG
su true
e WP_DEBUG_DISPLAY
su true
.
Se WP_DEBUG_DISPLAY
non è presente in wp-config.php
, è necessario aggiungerlo dopo WP_DEBUG
:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_DISPLAY', true);
Per abilitare la modalità di debug su Prestashop, è necessario modificare il file config/defines.inc.php
. In questo file, impostare _PS_MODE_DEV_
su true
.
define('_PS_MODE_DEV_', true);
Per attivare la modalità di debug su Joomla, è necessario modificare il file configuration.php
. In questo file, impostare $debug
a 1
e $error_reporting
a massimo
.
public $debug = '1'; public $error_reporting = 'maximum';
Per abilitare la modalità di debug su Laravel, è necessario modificare il file .env
impostando APP_DEBUG
su true
:
APP_DEBUG=true
Successivamente, è necessario cancellare la cache del file di configurazione. Nella propria console, eseguire il seguente comando:
php artisan config:clear
Il secondo passo più importante è capire gli errori e trovare una soluzione.
Gli errori "parse error" e "syntax error" sono causati da una cattiva scrittura del codice PHP: mancanza del punto e virgola alla fine, parentesi che non si chiudono, virgole invertite, ecc.
Alcune sintassi possono inoltre causare problemi solo su determinate versioni di PHP, poiché la sintassi di PHP si evolve tra diverse versioni. Per esempio, l'uso delle parentesi quadre per dichiarare un array funziona su PHP 7.2, mentre non è così su PHP 7.4.
È quindi opportuno verificare eregolare la versione di PHP in base alle specifiche del proprio sito web.
Quando si verifica questo errore, la funzione che PHP sta cercando di chiamare non esiste. Questo problema si verifica quando i file sul sito web sono mancanti o incompleti.
Questo messaggio di errore indica che la funzione mysql_connect()
non esiste. Questa funzione non esiste più in PHP 7.0 e successivi. È necessario utilizzare una versione di PHP 5.x per far funzionare il sito web.
Quando si verifica questo errore, lo stesso nome di funzione è stato dichiarato più volte. Questo problema si verifica in particolare quando plugin, temi, moduli ecc. utilizzano lo stesso nome di funzione.
Significa che è stata superata la memoria RAM massima autorizzata. Questo problema si verifica quando si supera il limite di memoria
specificato nel sito web.
I valori consigliati preinstallati sul vostro pacchetto VPS sono i seguenti:
memory_limit=1024M
(1 GB)limite di memoria=2048M
(2 GB)limite di memoria=4096M
(4 GB)limite di memoria=6144M
(6 GB)limite di memoria=7168M
(7 GB)limite di memoria=8192M
(8 GB)limite di memoria=9216M
(9 GB)limite di memoria=12288M
(12 GB)Tuttavia, se si desidera personalizzare il valore di memory_limit
, è possibile farlo da ISPConfig.
Nella scheda "Opzioni " del vostro sito web ISPConfig, aggiungete la riga memory_limit
alle direttive PHP.INI:
Ulteriori informazioni su questo argomento: Come modificare il file php.ini sul mio server VPS tramite ISPConfig?
Questo messaggio di errore è legato al fatto che il vostro script PHP sta impiegando più tempo per produrre un risultato di quanto consentito dai vostri parametri php.ini
.
Per superare questo problema, è possibile aumentare il tempo massimo di esecuzione. Sempre nella scheda "Opzioni" del vostro sito web ISPConfig, aggiungete la seguente riga alle direttive PHP.INI:
max_execution_time = 1800
Qui abbiamo impostato 1800 secondi, o 30 minuti.
Importante: Se il tempo di esecuzione di PHP è troppo lungo, Apache2 potrebbe non essere in grado di aspettare fino alla fine. Di conseguenza, Apache2 invierà un errore 503 al visitatore (un errore 522 o 524 se si utilizza CloudFlare). È quindi importante mantenere questo valore il più basso possibile. Vi consigliamo di impostarlo a 30 secondi(max_execution_time = 30), a meno che non abbiate intenzione di effettuare operazioni di importazione o esportazione di massa sui vostri siti.
Indica che l'utente o la password MySQL utilizzati non sono corretti.
Esempio di pagina di errore "Accesso negato" su Prestashop
Se si utilizza WordPress, il messaggio di errore potrebbe essere diverso:
Errore nello stabilire una connessione al database
Per verificare se la combinazione utente/password MySQL è funzionale, vi suggerisco di accedere a phpMyAdmin e di utilizzarla.
Se anche phpMyAdmin visualizza un errore come questo, allora l'utente o la password MySQL non sono corretti. È quindi possibile reimpostarla su ISPConfig.
Questo messaggio di errore è legato al fatto che il vostro sito web sta cercando di connettersi al server MySQL utilizzando un socket Unix invece di una connessione TCP.
Tuttavia, il socket Unix che sta cercando di utilizzare non è accessibile al suo livello (a causa della restrizione openbase_dir
, per esempio).
Per risolvere questo problema, è necessario forzare il sito web a utilizzare la connessione TCP sostituendo "localhost
" con "127.0.0.1
" nel parametro del server MySQL del sito web.
Per Prestashop 1.6, è necessario modificare il file config/settings.inc.php
:
Per Prestashop 1.7, è necessario modificare il file app/config/parameters.php
:
[...] 'database_host' => '127.0.0.1', [...]
Per un sito WordPress, è necessario modificare il file wp-config.php
:
[...] define('DB_HOST', '127.0.0.1'); [...]
Per un sito Joomla, è necessario modificare il file configuration.php
:
[...] public $host = '127.0.0.1'; [...]
Vota questo articolo :
Questo articolo vi è stato utile ?
Sì
No
2mn lettura
Come si crea un account FTP in ISPConfig?
0mn lettura
Connessione SFTP
1mn lettura
Come faccio ad attivare l'SSL sul mio sito con ISPConfig 3?
0mn lettura
Come si cambia la password FTP da IspConfig?