Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

326
Visualizações
PHP corta partes de argumentos largos en seguimientos de pila de excepciones. ¿Cómo decirle que no?

A continuación se muestra un ejemplo del mensaje de error del tiempo de ejecución de PHP 7:

Error fatal de PHP: error no detectado: clase 'Predis\Connection\ConnectionException' no encontrada en predis.php:4168

Seguimiento de la pila:

#0 /var/www/api/libraries/predis/predis.php(4455): Predis\Connection\AbstractConnection->onConnectionError('Error al rea...')

Tenga en cuenta los puntos suspensivos en la primera línea de seguimiento de la pila marcada como #0:

('Error al rea...')

Ahí es donde habría estado la información más importante, si no hubiera sido cortada. Otros mensajes de error tienen el mismo problema, a menudo cortando partes muy valiosas del mensaje.

¿Hay alguna configuración que podamos usar para imprimir más información en los seguimientos de pila? La versión exacta de PHP que estamos usando es 7.1.1.

Actualizar El problema exacto que estamos teniendo se describe en ¿Cómo deshabilitar PHP cortando partes de argumentos largos en el seguimiento de la pila de excepciones? . Esta pregunta se puede cerrar como un tonto. La idea es capturar la excepción, llamar a Exception::getTrace() y construir el mensaje de error manualmente. La excepción se puede capturar en el manejador global o en cada bloque try/catch. La implementación predeterminada de Exception::getTraceAsString trunca los argumentos de función largos.

about 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Si envuelve las llamadas que pueden fallar en un bloque try { ... } catch (Exception $e) { ... } , puede mostrar tantos mensajes de error de excepción como desee.

También podrá controlar lo que hace el código con el error o ayudar a evitar mejor el problema en el futuro.

about 4 years ago · Santiago Trujillo Relatório

0

El depurador instalado maneja la salida de error generada para los mensajes de excepción. El valor predeterminado que viene con PHP no es tan informativo y no puede personalizar esa salida.

Puede adjuntar su propio controlador de errores e imprimir sus propios seguimientos de pila, o puede cambiar el depurador instalado en PHP.

Si instala el depurador xDebug o Zend, obtendrá más información en el seguimiento de la pila.

https://xdebug.org/docs/stack_trace

ingrese la descripción de la imagen aquí

about 4 years ago · Santiago Trujillo Relatório

0

Puede usar getTraceAsString();

 <?php function test() { throw new Exception; } try { test(); } catch(Exception $e) { echo $e->getTraceAsString(); } ?>
about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda