在TestLink中,我在NO_DSN
脚本的数据库连接中找到了一个installNewDB.php
选项。我从未听说过NO_DSN
,并且想知道是否有人可以向我解释:
请参见第163-180行(https://github.com/viglesiasce/testlink/blob/master/install/installNewDB.php):
// Connect to DB Server without choosing an specific database
$db = new database($db_type);
define('NO_DSN',FALSE);
@$conn_result = $db->connect(NO_DSN,$db_server, $db_admin_name, $db_admin_pass);
if( $conn_result['status'] == 0 )
{
echo '<span class="notok">Failed!</span><p />Please check
the database login details and try again.';
echo '<br>Database Error Message: ' . $db->error_msg() . "<br>";
close_html_and_exit();
}
else
{
echo "<span class='ok'>OK!</span><p />";
}
$db->close();
$db=null;
这是什么意思?:define(' NO_DSN ',FALSE);
此处:$ db-> connect( NO_DSN ,$ db_server,$ db_admin_name,$ db_admin_pass);
答案 0 :(得分:-1)
在这种情况下,DSN指的是“数据源名称”。
它可以是一个可选的连接字符串,您可以将其传递给数据库以设置其他选项,例如数据库驱动程序,主机,数据库名称,字符集,端口等。
使用PDO的DSN字符串示例如下:
mysql:host=localhost;dbname=test;port=3306;charset=utf8mb4
因此,在您的情况下,除非您指定连接字符串,否则看起来'NO_DSN'选项默认为false。
答案 1 :(得分:-2)
DNS是一台服务器,可翻译网站的地址,以便您的浏览器可以连接到它们。如果地址过期或服务器出现问题,您将遇到DNS错误,即使具有Internet访问权限也无法连接到特定站点或站点组。