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

时间:2018-12-24 12:56:48

标签: php pdo stack-trace

我正在从命令行独立使用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查询中不包含...的情况下获得完整的堆栈跟踪?

1 个答案:

答案 0 :(得分:1)

请尝试添加这些内容;

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