gpt4 book ai didi

php - Slim 框架 fatal error : Uncaught exception 'InvalidArgumentException' with message 'Cannot create LogWriter

转载 作者:搜寻专家 更新时间:2023-10-31 21:05:55 29 4
gpt4 key购买 nike

我最近开始使用 Slim 框架。我目前正在尝试使用中间件进行身份验证。这是调用中间件的地方:

$app->post('/profile', 'authenticate', function () {
// code here
}

这是我的中间件负责身份验证的地方:

function authenticate(\Slim\Route $route) {
// Getting request headers
$headers = apache_request_headers();
$response = array();
$app = \Slim\Slim::getInstance();

// Verifying Authorization Header
if (isset($headers['Authorization'])) {
$db = new DbHandler();

// get the api key
$api_key = $headers['Authorization'];
// validating api key
if (!$db->isValidApiKey($api_key)) {
// api key is not present in users table
$response["error"] = true;
$response["message"] = "Access Denied. Invalid Api key";
echoRespnse(401, $response);
$app->stop();
} else {
global $user_id;
// get user primary key id
$user_id = $db->getUserId($api_key);
}
} else {
// api key is missing in header
$response["error"] = true;
$response["message"] = "Api key is misssing";
echoRespnse(400, $response);
$app->stop();
}
};

我在尝试 POST 调用时收到此错误。其他不需要身份验证的调用都可以正常工作。

Fatal error: Uncaught exception 'InvalidArgumentException' with message 'Cannot create LogWriter. Invalid resource handle.' in D:\Liftmo\Liftmo.com\api\Slim\LogWriter.php:60 Stack trace: #0 D:\Liftmo\Liftmo.com\api\Slim\Slim.php(191): Slim\LogWriter->__construct(false) #1 D:\Liftmo\Liftmo.com\api\Slim\Helper\Set.php(228): Slim\Slim->Slim{closure}(Object(Slim\Helper\Set)) #2 D:\Liftmo\Liftmo.com\api\Slim\Helper\Set.php(88): Slim\Helper\Set->Slim\Helper{closure}(Object(Slim\Helper\Set)) #3 D:\Liftmo\Liftmo.com\api\Slim\Helper\Set.php(185): Slim\Helper\Set->get('logWriter') #4 D:\Liftmo\Liftmo.com\api\Slim\Slim.php(196): Slim\Helper\Set->offsetGet('logWriter') #5 D:\Liftmo\Liftmo.com\api\Slim\Helper\Set.php(228): Slim\Slim->Slim{closure}(Object(Slim\Helper\Set)) #6 D:\Liftmo\Liftmo.com\api\Slim\Helper\Set.php(88): Slim\Helper\Set->Slim\Helper{closure}(Object(Slim\Helper\Set)) #7 D:\Liftmo\Liftmo.com\api\Slim\Slim.php(234): Slim\Helper\Set->get('log') #8 D:\Liftmo\Liftmo.com\api\Slim\Slim.php(402): Slim\Slim->__get('log') in D:\Liftmo\Liftmo.com\api\Slim\LogWriter.php on line 60

我逐行运行了代码,看来问题出在行上

$db = new DbHandler();

虽然我很困惑,因为在我的代码中其他地方使用这个类没有问题。

require_once 'include/DbHandler.php'; // DbHandler included here at the top

如果有人能帮助我,我将不胜感激。我从 HERE 获取了身份验证.从字面上找不到任何地方解决这个问题。使用带有 Cloud SQL 的 Google App Engine 进行部署。

最佳答案

我在我的应用程序中遇到了同样的问题,我发现这两个提示很有帮助:

  1. 在存储在应用程序根目录中的 php.ini 文件中设置 google_app_engine.disable_readonly_filesystem = 1 属性。引用--> https://gae-php-tips.appspot.com/2015/03/

  2. 使用与默认方式不同的方式来处理日志记录,以便能够查看您的代码或数据库的哪一部分存在问题。我在以下位置找到了一个很好的建议:https://leolutz.com/2014/11/slim-framework-on-google-app-engine/

希望对您有所帮助!

关于php - Slim 框架 fatal error : Uncaught exception 'InvalidArgumentException' with message 'Cannot create LogWriter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32473070/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com