2010-11-19 35 views
0

您好我有以下腳本,它可以在IIS上正常運行,但是當我將相同的腳本放在Linux上時,它會失敗,並顯示以下錯誤消息。這不僅適用?將PHP腳本從IIS移動到Linux腳本失敗

Fatal error: Call to undefined function mssql_connect() in /home/thePathToTheScript/services/dhTest.php on line 10

線10 = $數據庫句柄= mssql_connect($ myServer上,$ MYUSER,$爲mypass)

//start 
$myServer = "SQLB15.sqlDBCenter.com"; 
$myUser = "unc_user"; 
$myPass = "unc1234"; 
$myDB = "db_Stuff"; 

//connection to the database 
$dbhandle = mssql_connect($myServer, $myUser, $myPass) 
    or die("Couldn't connect to SQL Server on $myServer"); 

//select a database to work with 
$selected = mssql_select_db($myDB, $dbhandle) 
    or die("Couldn't open database $myDB"); 

//declare the SQL statement that will query the database 
$query = "SELECT DISTINCT Name As theName"; 
$query .= "FROM tb_Names "; 
$query .= "ORDER BY Name"; 

//execute the SQL query and return records 
$result = mssql_query($query); 
//---------------------------------------------------------------- 

十分讚賞

任何指針添加 - 這是PHP的mssql的部分。 ini [MSSQL] ;允許或防止持久鏈接。 mssql.allow_persistent = On

;永久鏈接的最大數量。 -1意味着沒有限制。 mssql.max_persistent = -1

;鏈接的最大數量(永久+非永久)。 -1意味着沒有限制。 mssql.max_links = -1

;顯示的最小錯誤嚴重性。 mssql.min_error_severity = 10

;要顯示的最低消息嚴重性。 mssql.min_message_severity = 10

;與舊版本的PHP 3.0兼容模式。 mssql.compatability_mode =關閉

;連接超時 ; mssql.connect_timeout = 5

;查詢超時 ; mssql.timeout = 60

;有效範圍0 - 2147483647.默認= 4096. ; mssql.textlimit = 4096

;有效範圍0 - 2147483647.默認= 4096. ; mssql.textsize = 4096

;限制每個批次中的記錄數。 0 =一個批次中的所有記錄。 ; mssql.batchsize = 0

;指定如何返回datetime和datetim4列 ; On =>返回轉換爲SQL服務器設置的數據 ; Off =>將值返回爲YYYY-MM-DD hh:mm:ss ; mssql.datetimeconvert = On

;當連接到服務器時使用NT身份驗證 mssql.secure_connection =關閉

;指定最大進程數。默認= 25 ; mssql.max_procs = 25

回答

1

您正在嘗試使用可能未加載的mssql擴展名。您需要檢查您的php.ini並查找「extension = mssql.so」,然後取消註釋並重新啓動Apache。

如果這個擴展名不存在,或者它不起作用(重啓apache或運行腳本時發生錯誤),那麼您將需要檢查您的Linux發行版是否需要其他軟件包以及如何製作這行得通。

+0

感謝,我似乎無法找到你所提到的擴展 - 這是Dreamhost的託管帳戶 - 我從php.ini中原來的職位增加了MSSQL細節。似乎它應該是好的。 – Chin 2010-11-19 13:21:40