0
我试图通过PD2从我的EC2实例连接到我的MySQL RDS实例。然而,控制台(在所有浏览器上)显示'状态500'错误。这里是我的代码(checkit.php),从their tutorial采取:使用PHP PDO通过EC2实例连接到Amazon RDS(错误500)
<?php
$error = 0;
try {
$dbhost = $_SERVER['RDS_HOSTNAME'];
$dbport = $_SERVER['RDS_PORT'];
$dbname = $_SERVER['RDS_DB_NAME'];
$dsn = "mysql:host={$dbhost};port={$dbport};dbname={$dbname}";
$username = $_SERVER['RDS_USERNAME'];
$password = $_SERVER['RDS_PASSWORD'];
$dbh = new PDO($dsn, $username, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
}
catch (Exception $e){$error = $e->getMessage();}
echo $error;
?>
删除线$dbh = new PDO($dsn, $username, $password);
(和涉及$dbh
其他行删除错误500报警,所以我知道它是与PDO语句来完成
我周围中搜索了一会儿,似乎是这个重复的问题,不帮我:
- PHP肯定是安装:庆典
php --version
和5.6.17打印 - PDO的将预安装在这个版本的PHP(我相信,但我没有测试这一点)
- 我可以SSH连接到数据库,这意味着
- 凭证正确
- 安全组设置正确
PHP代码以上使用这AJAX'ed:
$('#user').on('submit', function(e) {
e.preventDefault();
$.ajax({
url: "checkit.php",
type: "POST",
data: $(this).serialize(),
success: function(data) {
errors = data;
}
});
});
这种形式(简体):
<form id="user" action="" method="POST" target="_self" autocomplete="on" novalidate>
<input name="create" type="checkbox">
<button type="sumbit" name="submit">Submit</button>
</form>
导航到http://<ip address>/checkit.php
返回错误500状态,所以我怀疑它的任何与AJAX,但尽管如此我已经发布的代码,以防万一。
任何想法从哪里开始?
错误日志中有什么? –
@AlexBlex无法访问它。 '权限被拒绝' – jaunt
而你并非su客,是吗?然后至少在页面上显示:'ini_set('display_errors',1);''和'error_reporting(E_ALL);' –