REST API, запущенный на сервере, выдает ошибку - PullRequest
0 голосов
/ 08 декабря 2018

Я следил за этим сайтом, чтобы создать свой собственный REST API [https://www.phpflow.com/php/create-php-restful-api-without-rest-framework-dependency/][1]

Мой остальные API работает на моем удаленном сервере 207.43.8.220:8008.это мои php файлы, я помещаю их в var / www / api.файл connection.php находится под var / www / api

 <?php
Class dbObj{
/* Database connection start */
var $servername = "207.43.8.220:8008";
var $username = "root";
var $password = "qwerty";
var $dbname = "UsersApp";
var $conn;
function getConnstring() {
    $con = mysqli_connect($this->servername, $this->username, $this->password, $this->dbname) or die("Connection failed: " . mysqli_connect_error());

    /* check connection */
    if (mysqli_connect_errno()) {
        printf("Connect failed: %s\n", mysqli_connect_error());
        exit();
    } else {
        $this->conn = $con;
    }
    return $this->conn;
}
}
?>

эти файлы (.htaccess и users.php) находятся в файле var / www / api / v1 users.php:

// Connect to database
include("../connection.php");
$db = new dbObj();
$connection =  $db->getConnstring();

$request_method=$_SERVER["REQUEST_METHOD"];
switch($request_method)
{
    case 'GET':
        // Retrive Products
        if(!empty($_GET["id"]))
        {
            $id=intval($_GET["id"]);
            get_users($id);
        }
        else
        {
            get_users();
        }
        break;
    default:
        // Invalid Request Method
        header("HTTP/1.0 405 Method Not Allowed");
        break;
}
function get_users()
{
    global $connection;
    $query="SELECT * FROM users";
    $response=array();
    $result=mysqli_query($connection, $query);
    while($row=mysqli_fetch_array($result))
    {
        $response[]=$row;
    }
    header('Content-Type: application/json');
    echo json_encode($response);
}

когда я запускаю 207.43.8.220:8008/api/v1/users, я получаю мой код users.php, а не результат с 200ok msg.Когда я добавляю <?php в users.php, я получаю 500 внутренних ошибок сервера с пустой страницей.Я не знаю, где проблема?Обычно я должен получить результат в формате json.

Примечание: я не создал файл index.php, я просто создал .htaccess.Мои остальные API будут использоваться мобильным приложением для Android.

при просмотре файла error.log я обнаружил, что проблема вызвана объявлением того же метода get_users ().Я прокомментировал одну из этих функций, и я получил результат.Теперь я хочу знать, как использовать оба метода, но с разным вводом, как указано в коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...