POST方法无法在Amazon EC2上运行

时间:2017-03-22 23:56:05

标签: php apache http amazon-web-services amazon-ec2

昨天我在VPC中设置了Amazon EC2和RDS,在EC2上安装了PHP和Apache。我可以做的是连接到EC2,通过运行PHP脚本从EC2连接到DB(mySQL),使用MySQL工作台和SSH隧道连接来自本地机器的数据库。问题是我不能在我的PHP脚本中使用POST方法,脚本运行但它没有获取任何值。这是我最容易进行测试的脚本(我使用Postman进行测试):

    <?php

    $response = array();

    if (isset($_POST['login']) && isset($_POST['password']) && $_POST['login'] != '' && $_POST['password'] != '' ){
        $login = $_POST['login'];
        $md_password = md5($_POST['password']);

        require_once 'config.php';
        $con = mysqli_connect(hostname, username, password, db_name) or die("Connection error");

        $result = mysqli_query($con, "insert into users(login, md_password) values ('$login', '$md_password')");


        if($result) {

            $response["success"] = 1;
            $response["message"] = "Registration successful.";

            echo json_encode($response);

        } else {

            $user_exist_check = mysqli_query($con, "select * from users where login = '$login'");

            if ($user_exist_check) {
                $response["success"] = 0;
                $response["message"] = "User already exists.";

                echo json_encode($response);
            } else {        

            $response["success"] = 0;
            $response["message"] = "Error. Try again.";

            echo json_encode($response);
            }   
        }
    } else {

        $response["success"] = 0;
        $response["message"] = "Fill all the fields.";

        echo json_encode($response);

    }

    ?>

如果我在本地主机上从Apache运行脚本,它可以正常工作:

enter image description here

但是,当我尝试从EC2执行相同的脚本时,我得到500内部服务器错误或200 OK但没有良好的响应:

enter image description here

我是否必须设置其他内容才能使其正常工作?只插入数据库(没有任何POST方法)的脚本可以正常工作。

如果它很重要 - 我的计划是构建一个通过EC2(传递JSONS)连接到mySQL数据库的Android应用程序,并为S3上的照片添加额外存储空间。另外我想稍后构建一个webapp,它也可以使用相同的S3存储和数据库。我认为它应该工作,现在只有那些POST方法不起作用...

0 个答案:

没有答案