如何在 PHP 中查看完整的堆栈跟踪?

How to see the full stack trace in PHP?

我是 运行 一个在命令行中独立使用 Eloquent 的脚本。我在 SQL 查询中某处出错,但我得到的堆栈跟踪不完整:

PHP Fatal error:  Uncaught PDOException: SQLSTATE[42S22]: 
    Column not found: 1054 Unknown column 'id' 
    in 'where clause' in ./vendor/illuminate/database/Connection.php:326
Stack trace:
#0 ./vendor/illuminate/database/Connection.php(326): 
    PDO->prepare('select * from `...')
#1 ./vendor/illuminate/database/Connection.php(657): 
    Illuminate\Database\Connection->Illuminate\Database\{closure}('select * from `...', Array)
#2 ./vendor/illuminate/database/Connection.php(624): 
    Illuminate\Database\Connection->runQueryCallback('select * from `...', Array, Object(Closure))
#3 ./vendor/illuminate/database/Connection.php(333): 
    Illuminate\Database\Connection->run('select * from `...', Array, Object(Closure))
#4 ./vendor/illuminate/database/Query/Builder.php(2062): 
    Illuminate\Database\Connection->select('select * from `...', Array, true)
#5 ./vendor/illuminate/database/Query/Builder.php(2050): 
    Illuminate\Database\Query\Builder->runSelect()
#6 /srv/nes in ./vendor/illuminate/database/Connection.php on line 664

如何在 SQL 查询中没有 ... 的情况下获得完整的堆栈跟踪?

请尝试添加这些;

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);