Avaliar este artigo :
Este artigo foi útil para si ?
Sim
Não
Vous avez noté 0 étoile(s)
Sommaire
Procédure
O erro 500 é um código de estado da página que significa Internal Server Error (erro interno do servidor). Significa que ocorreu um erro no servidor Web. Este pode ter vindo do servidor Web Apache2, do interpretador PHP, que passou o erro para o servidor Web, ou da base de dados MySQL, que passou o erro para o PHP e, por sua vez, o passou para o servidor Web. O aspeto é o seguinte:
No caso de outros navegadores, poderá ver apenas uma página em branco sem conteúdo:
Para os sítios Prestashop, verá uma página de erro gerada pelo Prestashop :
Para diagnosticar o problema, será mais prático apresentar os erros diretamente no seu sítio Web (mesmo que sejam visíveis no ficheiro error.log
na pasta de registo
acessível através da sua conta FTP).
Para mostrar os erros de PHP, é necessário modificar o ficheiro php.ini
do sítio em questão. No ISPConfig, clique em Sites e seleccione o site em questão:
Em seguida, clique no separador "Opções" e adicione a seguinte linha ao campo "Definições php.ini personalizadas":
display_errors = On
Também é aconselhável adicionar a seguinte linha para garantir que os erros são comunicados de forma a serem apresentados no ecrã (caso o script o desactive por predefinição):
error_reporting = E_ALL
Alguns CMS e estruturas como o WordPress, Prestashop, Symfony, Laravel, etc. podem ignorar o facto de display_errors
estar definido como On
no PHP, uma vez que têm os seus próprios sistemas de gestão de erros.
Para ativar o modo de depuração num site baseado em WordPress, terá de modificar o ficheiro wp-config.php
definindo o valor de WP_DEBUG
para true
e WP_DEBUG_DISPLAY
para true
também.
Se WP_DEBUG_DISPLAY
não estiver em wp-config.php
, terá de o adicionar depois de WP_DEBUG
:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_DISPLAY', true);
Para ativar o modo de depuração no Prestashop, terá de modificar o ficheiro config/defines.inc.php
. Neste ficheiro, defina _PS_MODE_DEV_
como true
.
define('_PS_MODE_DEV_', true);
Para ativar o modo de depuração no Joomla, terá de modificar o ficheiro configuration.php
. Neste ficheiro, defina $debug
como 1
e $error_reporting
como máximo
.
public $debug = '1'; public $error_reporting = 'maximum';
Para ativar o modo de depuração no Laravel, é necessário modificar o arquivo .env
definindo APP_DEBUG
como true
:
APP_DEBUG=true
Em seguida, você precisa excluir o cache do arquivo de configuração. Na sua consola, execute o seguinte comando:
php artisan config:clear
O segundo passo mais importante é compreender os erros e encontrar uma solução.
Os erros "parse error" e "syntax error" são causados por uma má escrita do código PHP: falta de ponto e vírgula no fim, parêntesis que não fecham, vírgulas invertidas, etc. Terá de verificar o script no seu sítio Web.
Certas sintaxes podem também causar problemas apenas em certas versões do PHP, porque a sintaxe do PHP evolui entre várias versões. Por exemplo, a utilização de parêntesis rectos para declarar uma matriz funciona no PHP 7.2, o que não acontece no PHP 7.4.
Por conseguinte, vale a pena verificar eajustar a versão do PHP de acordo com as especificidades do seu sítio Web.
Quando este erro ocorre, a função que o PHP está a tentar chamar não existe. Este problema ocorre quando os ficheiros estão em falta ou incompletos no seu sítio Web.
Esta mensagem de erro indica que a função mysql_connect()
não existe. Esta função não existe mais no PHP 7.0 e posterior. Terá de utilizar uma versão 5.x do PHP para que o seu sítio Web funcione.
Quando este erro ocorre, o mesmo nome de função foi declarado várias vezes. Este problema ocorre sobretudo quando plugins, temas, módulos, etc. utilizam o mesmo nome de função.
Isto significa que a memória RAM máxima autorizada foi ultrapassada. Este problema ocorre quando excede o memory_limit
especificado no seu sítio Web.
Os valores recomendados pré-instalados no seu pacote VPS são os seguintes:
memory_limit=1024M
(1 GB)memory_limit=2048M
(2 GB)memory_limit=4096M
(4 GB)memory_limit=6144M
(6 GB)limite_de_memória=7168M
(7 GB)memory_limit=8192M
(8 GB)memory_limit=9216M
(9 GB)memory_limit=12288M
(12 GB)No entanto, se quiser personalizar o valor memory_limit
, pode fazê-lo a partir do ISPConfig.
No separador "Opções " do seu sítio Web ISPConfig, adicione a linha memory_limit
às directivas PHP.INI:
Mais informações sobre este assunto: Como modificar o ficheiro php.ini no meu servidor VPS através do ISPConfig?
Esta mensagem de erro está relacionada com o facto de o seu script PHP estar a demorar mais tempo a produzir um resultado do que o permitido pelos seus parâmetros php.ini
.
Para ultrapassar este problema, pode aumentar o tempo máximo de execução. Ainda no separador 'Options' do seu sítio web ISPConfig, adicione a seguinte linha às directivas PHP.INI:
max_execution_time = 1800
Aqui nós definimos 1800 segundos, ou 30 minutos.
Importante: Se o tempo de execução do PHP for muito longo, o Apache2 pode não ser capaz de esperar até o final. Como resultado, o Apache2 enviará um erro 503 ao seu visitante (um erro 522 ou 524 se estiver a utilizar o CloudFlare). Por conseguinte, é importante manter este valor o mais baixo possível. Aconselhamos que o defina para 30 segundos(max_execution_time = 30), a menos que planeie efetuar operações de importação ou exportação em massa nos seus sítios.
Isto indica que o utilizador ou a palavra-passe MySQL que está a utilizar está incorreto.
Exemplo de uma página de erro "Acesso negado" no Prestashop
Se estiver a utilizar o WordPress, a mensagem de erro pode ser diferente:
Erro ao estabelecer uma ligação à base de dados
Para verificar se uma combinação de utilizador/palavra-passe MySQL é funcional, sugiro que vá ao phpMyAdmin e a utilize.
Se o phpMyAdmin também apresentar um erro como este, então o seu utilizador ou palavra-passe MySQL está incorreto. Pode então redefini-la no ISPConfig.
Esta mensagem de erro está relacionada com o facto de o seu sítio web estar a tentar ligar-se ao seu servidor MySQL usando um socket Unix em vez de uma ligação TCP.
No entanto, o socket Unix que está a tentar utilizar não está acessível ao seu nível (devido à restrição openbase_dir
, por exemplo).
Para resolver este problema, é necessário forçar o seu sítio web a utilizar a ligação TCP, substituindo "localhost
" por "127.0.0.1
" no parâmetro do servidor MySQL do seu sítio web.
Para o Prestashop 1.6, terá de editar o ficheiro config/settings.inc.php
:
Para o Prestashop 1.7, terá de editar o ficheiro app/config/parameters.php
:
[...] 'database_host' => '127.0.0.1', [...]
Para um sítio WordPress, terá de editar o ficheiro wp-config.php
:
[...] define('DB_HOST', '127.0.0.1'); [...]
Para um site Joomla, terá de editar o ficheiro configuration.php
:
[...] public $host = '127.0.0.1'; [...]
Avaliar este artigo :
Este artigo foi útil para si ?
Sim
Não
2mn leitura
Como é que crio uma conta FTP no ISPConfig?
0mn leitura
Ligação SFTP
1mn leitura
Como posso ativar o SSL no meu site com o ISPConfig 3?
0mn leitura
Como é que altero a palavra-passe FTP do IspConfig?