Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

325
Views
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 answers
Answer question

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 Report

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 Report

0

Puede usar getTraceAsString();

 <?php function test() { throw new Exception; } try { test(); } catch(Exception $e) { echo $e->getTraceAsString(); } ?>
about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!