在CentOS系統下使用mssql_connect()時,一直出現“Unable to connect server”錯誤提示。
背景: centOS系統的web伺服器需要串連 MSSQL 的資料庫伺服器。mssql資料庫使用的是MSSSQL2000,(MSSQL2008也試過,問題同樣)。
centOS系統使用 yum install方式安裝了 Freetds和 php-mssql模組,使用 phpinfo()查看php-mssql已經安裝成功。在centOS下使用 tsql測試連接mssql帳號密碼,都正確。但是php檔案中使用mssql_connect()函數串連時,總出現“ Unable to connect server”的故障提示(通過 error_log查詢)。
程式碼:
$link = mssql_connect('192.168.100.10:1433', 'sa', '****'); // 此處總出現錯誤,加不加連接埠號碼:1433,故障依舊 if (!$link)
{
die('Unable to connect! error: ' . mssql_get_last_message());
}
?>
求高人解決!
回複討論(解決方案)
就一個不能串連,無更明了的錯誤資訊?
輸出mssql_get_last_message()看看是啥
看樣子是安裝正常了,許可權?sql server我遇過sa沒錄成功的情況,最終設定才解決
你再測試一下,爭取得出更詳盡的錯誤資訊
還有你把ip換為localhost或是127.0.0.1再試試
你沒許可權,當然連不上去
是原有的代碼嗎? 我怎麼看著mysql_connect()都寫錯了????
項目需要串連早先的資料庫伺服器, 以前的資料庫是MSSQLServer2000,現在要遷移到web環境。所以需要用到php的mssql模組。
web伺服器架的是linux結構,資料庫端是另外一台windows的MSSqlServer伺服器,所以和用localhost或127.0.0.1肯定是不對路。 因為第一步資料庫還沒有串連上,所以mssql_get_last_message()還有資訊反饋回來。
應該也不是許可權問題,已經用tsql方式查詢過了,一切查詢都正常。
另,在另外一台電腦上,使用手工方式解壓安裝freetds、php,重新編譯安裝,可以正常串連mssql資料庫。
我的判斷是用 yum 方式安裝freetds和php-mssql時,不清楚是否還欠缺哪一步。所以請教有沒有這方面的高人。
資料庫端是另外一台windows的MSSqlServer伺服器!!!
你是跨域訪問嗎,暈
預設安裝的MSSQL,是不允許遠程連結的,需要到 伺服器組態管理員中,開放遠程連結後,才能正常連結。
另外,遠程連結,還受防火牆的影響,任何一端(即用戶端和伺服器端)的防火牆,都可以禁止其正常連結。
建議先配置好網路環境,再檢查MSSQL的配置,最後才是檢查您的PHP程式。
都已經說過了: TSQL已經測試過到MSSQL的串連,查詢正常!參數都沒有問題,只是在使用無法使用mssql_connect()函數。 當然不是MSSQL的伺服器配置問題,也不是防火牆和網路環境問題。
查詢centOS下的/var/log/httpd/error_log 日誌,出現“...Warning: mssql_connect(): Unable to connect to server: 192.168.100.10:1433 in ....."
我的判斷是yum 安裝freetds和php-mssql時,不知哪裡出了問題。
求有centOS下使用yum配置經驗的高人來解!
自己解決。
兩種方法:
1、運行命令 setenforce 0
2、開啟 /etc/selinux/config ,將SELINUX設定為disabled,然後重新啟動。
我也遇到一模一?的??,找了很多地方才看到?,??gangang解??何???理即可?
同樣想知道怎麼解決,這是我提出一樣的問題,但寫的更詳細。http://ask.csdn.net/questions/69462