PHP后端代码在localhost上运行但不在服务器上运行

时间:2013-12-04 06:42:17

标签: php jquery json

我正在尝试为网站创建后端。我成功创建了它。它在localhost上完美运行。现在,当我将代码移动到服务器时,PHP只是不起作用。它显示一个空的白色屏幕。

它接受一个输入并返回一个JSON输出。可能是什么问题呢 ? 我正在使用Amazon EC2服务器。

这是我的php代码:

<?php

    require_once('common/common_database.php');

    class user
    {
        public $id;
        public $fName;
        public $lName;
        public $sex;
        public $image;
        public $birthday;
        public $location;

        public function __construct($userId)
        {
            $this->id = htmlspecialchars ( $userId );
        }

        public function getDetails()
        {
            global $dbh;

            //getting user's first and last name
            $query = "SELECT * FROM `user` WHERE `id` = :id;";
            $s = $dbh->prepare ( $query );
            $s->bindParam ( ":id" , $this->id );
            $s->execute (  );
            $r  =  $s->fetch (  );
            $this->fName  = htmlspecialchars( $r['firstName'] );
            $this->lName = htmlspecialchars ( $r['lastName'] );
            $this->location = htmlspecialchars (  $r['location'] );
            $this->image = htmlspecialchars ( $r['image'] );
            $this->birthday = htmlspecialchars ( $r['birthday'] );
            $this->sex = htmlspecialchars ( $r['sex'] );

        }
    }

    if ( isset($_GET['id']) )
    {
        $newUser = new user( $_GET['id'] ); 
        $newUser->getDetails();
    }
    else
    {
        $newUser = 0;
    }

    $output = json_encode ( $newUser );
    header('content-type: application/json');
    echo $output;
    exit;
?>

2 个答案:

答案 0 :(得分:0)

我首先打开错误报告:

ini_set('display_errors', '1');
error_reporting(E_ALL);

答案 1 :(得分:0)

你需要做两件事:

  • 在页面顶部启用错误报告,代码为:

    ini_set('display_errors','1'); 使用error_reporting(E_ALL);

  • 检查你的php ini设置。可能需要从php设置(php.ini)启用pdo_mysql。