本文目錄一覽:
在PHP中$_SERVER是什麼意思?
PHP中$_SERVER的詳細參數與說明
PHP編程中經常需要用到一些服務器的一些資料,特把$_SERVER的詳細參數整理下,方便以後使用。
$_SERVER[‘PHP_SELF’] #當前正在執行腳本的文件名,與 document root相關。
$_SERVER[‘argv’] #傳遞給該腳本的參數。
$_SERVER[‘argc’] #包含傳遞給程序的命令行參數的個數(如果運行在命令行模式)。
$_SERVER[‘GATEWAY_INTERFACE’] #服務器使用的 CGI 規範的版本。例如,“CGI/1.1”。
$_SERVER[‘SERVER_NAME’] #當前運行腳本所在服務器主機的名稱。
$_SERVER[‘SERVER_SOFTWARE’] #服務器標識的字串,在響應請求時的頭部中給出。
$_SERVER[‘SERVER_PROTOCOL’] #請求頁面時通信協議的名稱和版本。例如,“HTTP/1.0”。
$_SERVER[‘REQUEST_METHOD’] #訪問頁面時的請求方法。例如:“GET”、“HEAD”,“POST”,“PUT”。
$_SERVER[‘QUERY_STRING’] #查詢(query)的字符串。
$_SERVER[‘DOCUMENT_ROOT’] #當前運行腳本所在的文檔根目錄。在服務器配置文件中定義。
$_SERVER[‘HTTP_ACCEPT’] #當前請求的 Accept: 頭部的內容。
$_SERVER[‘HTTP_ACCEPT_CHARSET’] #當前請求的 Accept-Charset: 頭部的內容。例如:“iso-8859-1,*,utf-8”。
$_SERVER[‘HTTP_ACCEPT_ENCODING’] #當前請求的 Accept-Encoding: 頭部的內容。例如:“gzip”。
$_SERVER[‘HTTP_ACCEPT_LANGUAGE’]#當前請求的 Accept-Language: 頭部的內容。例如:“en”。
$_SERVER[‘HTTP_CONNECTION’] #當前請求的 Connection: 頭部的內容。例如:“Keep-Alive”。
$_SERVER[‘HTTP_HOST’] #當前請求的 Host: 頭部的內容。
$_SERVER[‘HTTP_REFERER’] #鏈接到當前頁面的前一頁面的 URL 地址。
$_SERVER[‘HTTP_USER_AGENT’] #當前請求的 User_Agent: 頭部的內容。
$_SERVER[‘HTTPS’] — 如果通過https訪問,則被設為一個非空的值(on),否則返回off
$_SERVER[‘REMOTE_ADDR’] #正在瀏覽當前頁面用戶的 IP 地址。
$_SERVER[‘REMOTE_HOST’] #正在瀏覽當前頁面用戶的主機名。
$_SERVER[‘REMOTE_PORT’] #用戶連接到服務器時所使用的端口。
$_SERVER[‘SCRIPT_FILENAME’] #當前執行腳本的絕對路徑名。
$_SERVER[‘SERVER_ADMIN’] #管理員信息
$_SERVER[‘SERVER_PORT’] #服務器所使用的端口
$_SERVER[‘SERVER_SIGNATURE’] #包含服務器版本和虛擬主機名的字符串。
$_SERVER[‘PATH_TRANSLATED’] #當前腳本所在文件系統(不是文檔根目錄)的基本路徑。
$_SERVER[‘SCRIPT_NAME’] #包含當前腳本的路徑。這在頁面需要指向自己時非常有用。
$_SERVER[‘REQUEST_URI’] #訪問此頁面所需的 URI。例如,“/index.html”。
$_SERVER[‘PHP_AUTH_USER’] #當 PHP 運行在 Apache 模塊方式下,並且正在使用 HTTP 認證功能,這個變量便是用戶輸入的用戶名。
$_SERVER[‘PHP_AUTH_PW’] #當 PHP 運行在 Apache 模塊方式下,並且正在使用 HTTP 認證功能,這個變量便是用戶輸入的密碼。
$_SERVER[‘AUTH_TYPE’] #當 PHP 運行在 Apache 模塊方式下,並且正在使用 HTTP 認證功能,這個變量便是認證的類型。
如何用PHP連接SQL Server
1:PHP5.2.x本身有個php_mssql.dll的擴展用來連接Sql server,但是這個dll只是用來連接低版本 Sql server的(2000以下版本),在Sql server 2005及以上版本無法使用mssql_connect連接到數據庫。
2:php5.3.x不再支持php_mssql.dll 拓展庫了,及時使用php5.2.x中的php_mssql.dll也無法使用。 微軟專門為PHP出了個SQL Server的擴展(Windows版本的),對於Windows下使用php開發SQL Server應用來說,這個擴展有利於利用SQL Server來開發php平台連接sql server數據庫管理系統。
一、php5.3以下的版本連接sql server
5.3以下的版本擴展裡面自帶一個php_mssql.dll;接數據庫的擴展,可以利用這個擴展鏈接數據庫,(只限於鏈接低版本數據庫)。
具體的步驟如下:
1:首先安裝sql server,超級不好安裝,我之前安裝的是2008版本的,Windows過期後就不能用了,然後重裝還裝不上,最後重裝系統才裝上
2:確定SQL裝的時候用的是混合認證模式,或SQL驗證模式,然後打開php的配置文件(php.ini),開啟mssql擴展 (extension=php_pdo_mssql.dll前面的分號去掉)並且需要把mssql.secure_connection = On 重啟後生效。
如果比較順利的話已經可以連接數據庫了,如果連不上就需要繼續低下的配置:
3: 檢查ntwdblib文件的版本(php/下面和Apache/下面)下載正確的版本的 ntwdblib.dll(2000.80.194.0)覆蓋現有的DLL文件,(把ntwdblib.dll,php_mssql.dll 複製到system32目錄中也可以)ntwdblib.dll 用於PHP連接MSSQL2005或2008的驅動文件。
4:測試連接:mssql_connect(‘localhost,1433’, ‘用戶名’, ‘密碼’);
二、php5.3+連接sql server
其 實5.3以下的php版本已經很少用了,況且安全性和兼容性都不好,所以高版本的php還是比較常見的。實踐證明低版本的php連接數據庫成功率比較低 (2005以上的版本幾乎不能使用),推薦使用php5.3+ php使用微軟專門的擴展 SQLSRV 來連接sqlserver數據庫
1:先到微軟網站下載 SQL Server Driver for PHP 是一個自解壓的 EXE文件,解壓縮後你會得到這麼幾個文件:
其中的52、53表示就是php的5.2.x和5.3.x 版本,選擇跟你php版本相匹配的;vc6或vc9的選擇要看你使用的是什麼web服務器軟件,如果使用的是IIS那就選擇vc9的,如果是Apache 則選擇vc6的,ts和nts的選擇要看你安裝的php版本是線程安全版的還是非線程安全版,ts是線程安全,nts是非線程安全。
如果不知道可以在phpinfo里看Zend Extension Build這個屬性如下圖:
2:將擴展拷貝到拷到php/ext目錄下,在php.ini文件,添加一下代碼:
extension=在ext下的pdo擴展(用於pdo)
extension=在ext下的擴展
3:重啟服務器,打開phpinfo();看到以下狀態就證明添加擴展成功,
4:連接測試:
?php
$serverName = “(local)”;
$connectionInfo = array(“UID”=”sa”,”PWD”=”admin”,”Database”=”db_online”);
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ){
echo “Connection established.\n”;
}else{
echo “Connection could not be established.\n”;
die( var_dump(sqlsrv_errors()));
}
sqlsrv_close( $conn);
?
注意這裡的連接不是用mssql_connect而是用sqlsrv_connect,在這個版本中,還有幾個函數:
這個擴展為php新增了一系列sqlsrv_開頭的函數,常用的如下:
sqlsrv_connect
sqlsrv_close
sqlsrv_commit
sqlsrv_errors
sqlsrv_fetch
sqlsrv_fetch_array
sqlsrv_fetch_metadata
sqlsrv_num_rows
sqlsrv_query
sqlsrv_rollback
sqlsrv_rows_affected
. . .
另外注意的是,如果使用這個擴展連接Sql server 2005以及以上版本的sql server(如sql server 2008),你還需要在機器上先安裝 SQL Server Native Client
不然會出現如下錯誤:
array
0 =array
0 =string’IMSSP'(length=5)
‘SQLSTATE’ =string’IMSSP'(length=5)
1 =int-49
‘code’ =int-49
2 =string’This extension requires the Microsoft SQL Server 2012 Native Client. Access the following URL to download the Microsoft SQL Server 2012 Native Client ODBC driver for x86: ‘(length=216)
‘message’ =string’This extension requires the Microsoft SQL Server 2008 Native Client. Access the following URL to download the Microsoft SQL Server 2008 Native Client ODBC driver for x86: ‘(length=216)
1 =array
0 =string’IM002′(length=5)
‘SQLSTATE’ =string’IM002′(length=5)
1 =int0
‘code’ =int0
2 =string'[Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱並且未指定默認驅動程序'(length=71)
‘message’ =string'[Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱並且未指定默認驅動程序'(length=71)
. . . .
解決方法:需要安裝SQL Server 2008 Native Client ODBC Driver,下載安裝文件sqlncli.msi,安裝後就可以了。
以上就是php連接sql server的方法,希望對大家解決類似問題有所幫助。
如何使用phpStudy自帶的Ftp Server
使用phpStudy自帶的Ftp Server的詳細操作步驟,可以參考百度經驗。
具體鏈接如下:
;os=0bd_page_type=1net_type=2
原創文章,作者:TZNL,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/148117.html