Php-fpm 即使在使用 catch 时仍然记录我的错误
Php-fpm still logging my error even when using catch
Php-fpm 错误日志文件仍在记录我的错误,即使使用 try-catch
$NUM_OF_ATTEMPTS = 100;
$attempts = 0;
do
{
try
{
$db = new SQLite3('proxies/socks5.db');
$results = $db->query('SELECT proxy FROM socks5proxies WHERE timeout <= ' . $settimeout . $countryq . ';');
while ($row = $results->fetchArray())
{
echo $row['proxy'] . "\r\n";
}
}
catch(Exception $e)
{
$attempts++;
sleep(1);
continue;
}
break;
}
while ($attempts < $NUM_OF_ATTEMPTS);
预期结果:
出错重试,不记录错误
实际结果:
在 php-fpm 错误日志文件中记录错误:
在第 200 行投入 /var/www/html/api.php
[2019 年 1 月 10 日 14:00:49 UTC] PHP 警告:SQLite3::query():无法准备语句:11,数据库磁盘映像在 /var/www/html/api.[=30 中格式错误=] 第 140 行
[2019 年 1 月 10 日 14:00:49 UTC] PHP 致命错误:未捕获错误:在 /var/www/html/api.php:141 中的布尔值上调用成员函数 fetchArray()
堆栈跟踪:
#0 {主要}
在第 141
行 /var/www/html/api.php 中抛出
调用 SQLite3::enableExceptions 告诉 PHP 它应该抛出异常而不是标准错误:
try {
$db = new SQLite3('proxies/socks5.db');
$db->enableExceptions(true);
$results = $db->query('...');
} catch (\Exception $e) {
}
无论如何,如果您需要尝试 100 次才能使它正常工作,那么这确实不是您应该采取的修复角度。
Php-fpm 错误日志文件仍在记录我的错误,即使使用 try-catch
$NUM_OF_ATTEMPTS = 100;
$attempts = 0;
do
{
try
{
$db = new SQLite3('proxies/socks5.db');
$results = $db->query('SELECT proxy FROM socks5proxies WHERE timeout <= ' . $settimeout . $countryq . ';');
while ($row = $results->fetchArray())
{
echo $row['proxy'] . "\r\n";
}
}
catch(Exception $e)
{
$attempts++;
sleep(1);
continue;
}
break;
}
while ($attempts < $NUM_OF_ATTEMPTS);
预期结果:
出错重试,不记录错误
实际结果:
在 php-fpm 错误日志文件中记录错误: 在第 200 行投入 /var/www/html/api.php [2019 年 1 月 10 日 14:00:49 UTC] PHP 警告:SQLite3::query():无法准备语句:11,数据库磁盘映像在 /var/www/html/api.[=30 中格式错误=] 第 140 行 [2019 年 1 月 10 日 14:00:49 UTC] PHP 致命错误:未捕获错误:在 /var/www/html/api.php:141 中的布尔值上调用成员函数 fetchArray() 堆栈跟踪: #0 {主要} 在第 141
行 /var/www/html/api.php 中抛出调用 SQLite3::enableExceptions 告诉 PHP 它应该抛出异常而不是标准错误:
try {
$db = new SQLite3('proxies/socks5.db');
$db->enableExceptions(true);
$results = $db->query('...');
} catch (\Exception $e) {
}
无论如何,如果您需要尝试 100 次才能使它正常工作,那么这确实不是您应该采取的修复角度。