瘋狂的權利?示例代碼:當啓用會話時,mysql_connect無法解析主機名
<?php
session_start();
$hostname="samplehost";
$username="sampleuser";
$password="samplepass";
$dbname="sampledb";
$link = mysql_connect($hostname, $username, $password) or die(mysql_error());
mysql_select_db($dbname, $link);
?>
會丟Unknown MySQL server host 'samplehost' (2)
。如果我們刪除session_start()
或僅在mysql_connect()
之前執行session_destroy()
,則它可以正常工作。基本上,如果我們打開一個會話,就像mysql_connect不會解析主機名。我們用於服務器的主機名正確添加到/ etc/hosts。
這是一個運行PHP 5.3.2-1ubuntu4.7的生產服務器 - 今天剛剛開始發生。任何人遇到這個?
編輯:應該提及,有或沒有會話,我們可以指定數據庫服務器的IP,並且它可以正常工作。
這是你正在測試這個完整的腳本(當然不包括值)嗎? – 2011-03-01 23:02:16
是否影響所有DNS /主機操作?什麼gethostbyname()? – Capsule 2011-03-01 23:03:44
您是否嘗試解析除您在/ etc/hosts中輸入的其他主機? – 2011-03-01 23:08:42