Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter:如何创建一个专门的api来告知数据库是否关闭_Php_Mysql_Reactjs_Codeigniter_Error Handling - Fatal编程技术网

Php Codeigniter:如何创建一个专门的api来告知数据库是否关闭

Php Codeigniter:如何创建一个专门的api来告知数据库是否关闭,php,mysql,reactjs,codeigniter,error-handling,Php,Mysql,Reactjs,Codeigniter,Error Handling,我有codeigniter REST完整的项目。需要配置API以确认数据库连接是否已启动。如果数据库向上,则返回200;如果向下,则返回500。我想将此响应分享给cloudflare负载平衡器。它将访问我的API,并了解数据库是启动还是关闭。 我试图重写DB_Driver.php,使用try-catch提供自定义响应,但它只显示系统消息 我已经创建了一个API,它检查数据库是否正常,并返回200 OK,但只有当我连接到数据库时,只要我断开数据库连接,它就不会命中API,并发送默认响应。 我试图更

我有codeigniter REST完整的项目。需要配置API以确认数据库连接是否已启动。如果数据库向上,则返回200;如果向下,则返回500。我想将此响应分享给cloudflare负载平衡器。它将访问我的API,并了解数据库是启动还是关闭。 我试图重写DB_Driver.php,使用try-catch提供自定义响应,但它只显示系统消息

我已经创建了一个API,它检查数据库是否正常,并返回200 OK,但只有当我连接到数据库时,只要我断开数据库连接,它就不会命中API,并发送默认响应。 我试图更改Codeigniter DB_Driver.php,connecteddb.php,但没有成功

这是我的checkDatabase API函数代码:

if(!$this->db) {
        $responseArr = array('data' => 'Database Connection Error');
        $this->set_response($responseArr, REST_Controller::HTTP_INTERNAL_SERVER_ERROR);
    } else {
        $responseArr = array('data' => 'Database Connection Active');
        $this->set_response($responseArr, REST_Controller::HTTP_OK);
    }
你们能帮我解决这个问题吗?
谢谢。

我想你想得太多了。为什么不建立一个简单查询的方法,其结果总是可以预测的?您可以根据您的意愿运行该查询,如果模型响应任何意外的(例如
null
false
,等等),或者您遇到数据库错误,请使用输出类以50x代码响应,否则用200代码响应。我知道这不是最优雅的方式,但我已经做了很多年了(为一个永远不会为空的表获取最新的ID),它就像一个charmWhat错误,当db未连接时你会遇到!!您是否尝试在数据库中使用db_debug false。php@JavierLarroulet,为什么不建立一个简单查询的方法,其结果总是可以预测的?我已经设置了一个控制器来处理,但当数据库关闭时,codeigniter不会费心去点击API,它会立即返回db_错误并显示默认错误消息。这就是我面临的问题。那么如何制作这个方法呢?你能给我一些代码或者方法吗?我应该在哪里创建该文件?@boominatanlango我面临默认数据库连接错误。里面有一些html。无法使用提供的设置连接到数据库服务器。是的,我尝试使用db_debug false,但这甚至不允许我使用我的db状态检查API。不知何故,我不想用json响应覆盖该响应。