2015-12-14 102 views
0

我运行一个游戏论坛和关联的游戏服务器。在过去的两年里,用户在论坛上注册,然后将他们的名字/密码传递给我的游戏服务器数据库。一旦他们完成注册,另一个电话会在游戏数据库中翻转一个标志,让他们玩。PHP新PDO连接问题

在某个时候,这个过程停止工作,所有新的论坛帐户(phpbb论坛)根本就没有到我的游戏SQL服务器。我在我的游戏服务器上打开了SQL监视器,并且没有使用已传递的凭据进行连接。创建新帐户时,我也不会列出任何错误。代码如下:

// Create game account 

try { 
$acctConnection = new PDO('mysql:dbname=DB_Redacted;host=x.x.x.x;port=33306;charset=utf8','DB_forum','PasswordHere', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); 
$acctStmt = $acctConnection->prepare('CALL forum_link(?,?)'); 
$acctStmt->bindParam(1, $newname); 
$acctStmt->bindParam(2, $plainpassword); 
$acctStmt->execute(); 
$acctConnection = NULL; 
} catch (PDOException $e) { 
echo 'Creating game account failed'; 
} 

forum_link是用于将值插入游戏数据库的存储过程。该帐户还设置为仅接受来自我的专用IP论坛主机的连接,该IP主机没有更改IP,并且也能够运行列出的存储过程。游戏服务器正在监听列出的端口,我甚至在没有运行防火墙的情况下进行测试。我对此很新,因为这个过程是由另一个开发人员设置的,他们不再在这个项目上工作,但看起来很长一段时间工作似乎没有失败。任何想法可能是错误的和/或我如何获得更强大的日志来捕捉问题可能是什么?

+1

看看错误日志。 –

+0

不幸的是,没有记录。我正在考虑抽出这部分内容并测试连接性,但我担心这种记录不正确,或者因为任何原因没有显示。 – Hollyw00d

+1

*除非设置您的服务器的人是bozo,否则一切*都会被记录下来。 –

回答

0

这最终导致PDO功能由于Java服务器上的Java损坏而损坏/丢失。这是由于托管问题。我通过选择要在CPANEL中使用的新的(更新的)Java版本来重置该版本,该版本重新安装了PDO模块,并且与其他SQL服务器的连接没有任何问题。我需要添加额外的错误日志记录到我的PDO语句中,将其视为问题,我发现如何通过其他地方的webdevs来执行此操作。