我正在尝试通过mysqli建立PHP(5.2.6)/ MySQL连接。
error_log( sprintf( 'Querying %s:%s (%s) as %s/%s', DBHOST, DBPORT, DBNAME, DBUSER, DBPASSWORD ) );
$mysqli = @new mysqli( DBHOST, DBUSER, DBPASSWORD, DBNAME, DBPORT );
if( !$mysqli ) {
error_log( 'Unable to establish a connection to ' . DBHOST . '.' . DBNAME . ': ' . mysqli_connect_error() );
exit( 'Unable to connect to the db.' );
}
else {
error_log( '--> mysqli connection established' );
}
... more stuff ...
此代码的结果是初始写入error_log
发生(它验证了常量是否正确定义),但没有别的。没有。就我所知,一切都停止了。无法连接消息,没有建立连接消息。根本不值一提。我可以使用常量定义的参数直接连接到MySQL(从日志打印中复制和粘贴)。
我已经阅读了5.2.9之前的PHP版本中的错误,我尝试了各种方法来检测错误,但没有任何变化。一切都停止了,我开始失去理智,想弄清楚我还能做些什么。
有没有人见过这个?似乎已经安装了MySQLi - 通过它在phpinfo()
的输出中的存在以及对function_exists( mysqli_connect )
的测试来验证。我错过了一些明显的东西,因为我太专注于细节了吗?
任何想法都会受到赞赏。
更新
当我说“我尝试过各种检测错误的方法”时,我应该更清楚了。没有其他变体包含使用“@”静音输出。请不要专注于此。这只包含在我上次基于PHP文档中读取的内容的尝试中。
答案 0 :(得分:0)
首先,道歉。我在一个陌生的环境中工作,并且不知道错误记录被关闭了。我通过ini_set( 'log_errors', true )
启用了该功能,并开始获取我需要的信息。我留下这个以防万一其他人需要搜索同样的问题。