如何在 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);
我是 运行 一个在命令行中独立使用 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);