Php 我在这方面遗漏了什么?

Php 我在这方面遗漏了什么?,php,mysql,mysqli,Php,Mysql,Mysqli,我正试图通过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 est

我正试图通过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 ...
这段代码的结果是,初始写入
错误日志
(这验证了常数定义是否正确),但没有其他结果。没有什么。就我所知,一切都停止了。没有无法连接的消息,没有建立连接的消息。没什么。我可以使用常量定义的参数(从日志打印中复制和粘贴)直接连接到MySQL

我读过5.2.9之前的PHP版本中的错误,我尝试过各种方法来检测错误,但没有任何变化。一切都停止了,我开始失去理智,想知道我还能做什么

有人见过这个吗?MySQLi似乎已经安装了——通过它在
phpinfo()
的输出中的存在以及对
函数(MySQLi\u connect)
的测试进行验证。我是否因为过于关注细节而遗漏了一些明显的东西

如有任何想法,将不胜感激

更新


当我说“我尝试了各种方法来检测错误”时,我应该说得更清楚。没有其他变体包括带“@”的静音输出。请不要把注意力放在那上面。根据PHP文档中的一些内容,我上一次尝试时才提到这一点。

首先,我要道歉。我在一个不熟悉的环境中工作,不知道错误日志记录已关闭。我通过
ini\u集('log\u errors',true)
打开了它,并开始获取我需要的信息。我留下这个,以防其他人需要搜索同一个问题。

@new
中删除
@
,并发布PHP的任何错误或警告。这就是我尝试其他各种方法的意思。使用“@”并测试
$mysqli
只是我最后一次尝试。之前的任何操作都不会使任何输出静音。首先,在调试时删除“@”。第二:您是否尝试删除所有错误日志函数,并仅实例化mysli类?如果是,会发生什么?你能接通吗?我会的,但在等待期结束之前不能。