當前位置:首頁 » 編程語言 » php命令行模式

php命令行模式

發布時間: 2022-12-19 09:40:13

php 伺服器變數$_SERVER 伺服器環境變數 $_ENV

PHP  $_SERVER 變數

$_SERVER 是一個包含諸如頭信息(header)、路徑(path)和腳本位置(script locations)的數組。它是 PHP 中一個超級全局變數,我們可以在 PHP 程序的任何地方直接訪問它。

$_SERVER 包含著眾多的信息,你可以嘗試直接列印它:

print_r($_SERVER);

$_SERVER 數組元素

更多情況下,我們只需要 $_SERVER 數組中的某些元素(數組單元)。$_SERVER 數組包含的元素如下:

頁面程序相關

$_SERVER[『PHP_SELF』]:相對於網站根目錄的路徑及 PHP 程序名稱,與 document root 相關。

$_SERVER[『HTTP_REFERER』]:鏈接到當前頁面的前一頁面的 URL 地址。

$_SERVER[『SCRIPT_NAME』]:相對於網站根目錄的路徑及 PHP 程序文件名稱 。

$_SERVER[『REQUEST_URI』]:訪問此頁面所需的 URI 。

$_SERVER[『SCRIPT_FILENAME』]:當前運行 PHP 程序的絕對路徑及文件名。

$_SERVER[『PATH_TRANSLATED』]:當前 PHP 程序所在文件系統(不是文檔根目錄)的基本路徑。

$_SERVER[『QUERY_STRING』]:查詢(query)的字元串(URL 中第一個問號 ? 之後的內容但不包括 # 後面的內容)。

$_SERVER[『argv』]:傳遞給當前 PHP 程序的參數。

$_SERVER[『argc』]:命令行模式下,包含傳遞給程序的命令行參數的個數。

$_SERVER[『REQUEST_TIME』]:請求開始時的時間戳,從 PHP 5.1.0 起有效。

$_SERVER[『REQUEST_METHOD』]:訪問頁面時的請求方法,例如:「GET」、「HEAD」,「POST」或「PUT」。

$_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: 頭信息的內容。例如:「zh-cn」。

$_SERVER[『HTTP_CONNECTION』]:當前請求的 Connection: 頭信息的內容。例如:「Keep-Alive」。

$_SERVER[『HTTP_HOST』]:當前請求的 Host: 頭信息的內容。

$_SERVER[『HTTPS』]:如果 PHP 程序是通過 HTTPS 協議被訪問,則被設為一個非空的值。

$_SERVER[『PHP_AUTH_DIGEST』]:當作為 Apache 模塊運行時,進行 HTTP Digest 認證的過程中,此變數被設置成客戶端發送的「Authorization」HTTP 頭內容(以便作進一步的認證操作)。

$_SERVER[『PHP_AUTH_USER』]:當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模塊方式下,並且正在使用 HTTP 認證功能,這個變數便是用戶輸入的用戶名。

$_SERVER[『PHP_AUTH_PW』]:當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模塊方式下,並且正在使用 HTTP 認證功能,這個變數便是用戶輸入的密碼。

$_SERVER[『AUTH_TYPE』]:當 PHP 運行在 Apache 模塊方式下,並且正在使用 HTTP 認證功能,這個變數便是認證的類型。

伺服器端相關

$_SERVER[『DOCUMENT_ROOT』]:當前運行 PHP 程序所在的文檔根目錄,在伺服器配置文件中定義。

$_SERVER[『GATEWAY_INTERFACE』]:伺服器使用的 CGI 規范的版本,例如:「CGI/1.1」。

$_SERVER[『SERVER_ADDR』]:當前運行 PHP 程序所在的伺服器的 IP 地址。

$_SERVER[『SERVER_NAME』]:當前運行 PHP 程序所在的伺服器的名稱。

$_SERVER[『SERVER_ADMIN』]:Apache 伺服器配置文件中的 SERVER_ADMIN 參數。

$_SERVER[『SERVER_PORT』]:伺服器所使用的埠。如果使用 SSL 安全連接,則這個值為用戶設置的 HTTP 埠。

$_SERVER[『SERVER_SIGNATURE』]:包含伺服器版本和虛擬主機名的字元串。

$_SERVER[『SERVER_SOFTWARE』]:伺服器標識的字串,在響應請求時的頭信息中給出。

$_SERVER[『SERVER_PROTOCOL』]:請求頁面時通信協議的名稱和版本,例如:「HTTP/1.0」。

其他雜項

$_SERVER[『HTTP_USER_AGENT』]:當前請求的 User-Agent: 頭信息的內容,該字元串表明了訪問該頁面的用戶代理的信息。

$_SERVER[『REMOTE_ADDR』]:正在瀏覽當前頁面用戶的 IP 地址。

$_SERVER[『REMOTE_HOST』]:正在瀏覽當前頁面用戶的主機名。

$_SERVER[『REMOTE_PORT』]:用戶連接到伺服器時所使用的埠。

注意,如果以命令行方式運行 PHP,上面列出的元素幾乎沒有有效的(或是沒有任何實際意義的)。

PHP $_ENV 變數

$_ENV 是一個包含伺服器端環境變數的數組。它是 PHP 中一個超級全局變數,我們可以在 PHP 程序的任何地方直接訪問它。

$_ENV 只是被動的接受伺服器端的環境變數並把它們轉換為數組元素,你可以嘗試直接列印它:

print_r($_ENV);

限於篇幅,在此不再列出列印的結果,且不同的伺服器上,列印出的結果可能是完全不同的。

$_ENV 數組元素

$_ENV 數組中的元素(數組單元)隨伺服器環境不同而有較大差異,所以無法像 $_SERVER 那樣列出完整的列表。以下是 $_ENV 數組包含的比較通用的元素:

$_SERVER[『PATH』]:環境變數 PATH 路徑。

$_SERVER[『CLASSPATH』]:系統 CLASSPATH 路徑。

$_SERVER[『LIB』]:系統 LIB 庫路徑。

$_SERVER[『INCLUDE』]:系統 Include 路徑,注意與 PHP 的包含路徑是不一樣的。

$_SERVER[『OS』]:操作系統類型。

$_SERVER[『LANG』]:系統語言,如 en_US 或 zh_CN。

$_SERVER[『PWD』]:當前工作目錄。

$_SERVER[『TEMP』]:系統 TEMP 路徑。

$_SERVER[『AP_PARENT_PID』]:當前進程 ID 號。

$_SERVER[『NUMBER_OF_PROCESSORS』]:系統 CPU 數目。

$_ENV 為空的原因及解決辦法

如果列印輸出 $_ENV 為空,可以檢查一下 php.ini 的配置:

variables_order = "EGPCS"

上述配置表示 PHP 接受的外部變數來源及順序,EGPCS 是 Environment、Get、Post、Cookies 和 Server 的縮寫。如果 variables_order 的配置中缺少 E ,則 PHP 無法接受環境變數,那麼 $_ENV 也就為空了。

㈡ php有幾種運行模式最常用的是那種

php一共分為五大運行模式:包括cgi 、fast-cgi、cli、isapi、apache 模塊的 DLLCGI
CGI即通用網關介面(Common Gateway Interface),它是一段程序,通俗的講CGI就象是一座橋,把網頁和WEB伺服器中的執行程序連接起來,它把HTML接收的指令傳遞給伺服器的執 行程序,再把伺服器執行程序的結果返還給HTML頁。CGI 的跨平台性能極佳,幾乎可以在任何操作系統上實現。
CGI方式在遇到連接請求(用戶 請求)先要創建cgi的子進程,激活一個CGI進程,然後處理請求,處理完後結束這個子進程。這就是fork-and-execute模式。所以用cgi 方式的伺服器有多少連接請求就會有多少cgi子進程,子進程反復載入是cgi性能低下的主要原因。都會當用戶請求數量非常多時,會大量擠占系統的資源如內 存,CPU時間等,造成效能低下。CGI-FCGI
fast-cgi 是cgi的升級版本,FastCGI像是一個常駐(long-live)型的CGI,它可以一直執行著,只要激活後,不會每次都要花費時間去fork一 次。PHP使用PHP-FPM(FastCGI Process Manager),全稱PHP FastCGI進程管理器進行管理。FastCGI的工作原理
1、Web Server啟動時載入FastCGI進程管理器(IIS ISAPI或Apache Mole)
2、FastCGI進程管理器自身初始化,啟動多個CGI解釋器進程(可見多個php-cgi)並等待來自Web Server的連接。
3、當客戶端請求到達Web Server時,FastCGI進程管理器選擇並連接到一個CGI解釋器。Web server將CGI環境變數和標准輸入發送到FastCGI子進程php-cgi。
4、 FastCGI子進程完成處理後將標准輸出和錯誤信息從同一連接返回Web Server。當FastCGI子進程關閉連接時,請求便告處理完成。FastCGI子進程接著等待並處理來自FastCGI進程管理器(運行在Web Server中)的下一個連接。 在CGI模式中,php-cgi在此便退出了。在上述情況中,你可以想像CGI通常有多慢。每一個Web 請求PHP都必須重新解析php.ini、重新載入全部擴展並重初始化全部數據結構。使用FastCGI,所有這些都只在進程啟動時發生一次。一個額外的 好處是,持續資料庫連接(Persistent database connection)可以工作。APACHE2HANDLER
PHP作為Apache模塊,Apache伺服器在系統啟動後,預先生成多個進程副本駐留在內存中,一旦有請求出 現,就立即使用這些空餘的子進程進行處理,這樣就不存在生成子進程造成的延遲了。這些伺服器副本在處理完一次HTTP請求之後並不立即退出,而是停留在計 算機中等待下次請求。對於客戶瀏覽器的請求反應更快,性能較高。
apache模塊的DLL:
該運行模式是我們以前在windows環境下使用apache伺服器經常使用的,而在模塊化(DLL)中,PHP是與Web伺服器一起啟動並運行的。(是apache在CGI的基礎上進行的一種擴展,加快PHP的運行效率)ISAPI:
ISAPI即Internet Server Application Program Interface,是微軟提供的一套面向Internet服務的API介面
一個ISAPI的DLL,可以在被用戶請求激活後長駐內存,等待用戶的另一個請求,還可以在一個DLL里設置多個用戶請求處理函數,此外,
ISAPI的DLL應用程序和WWW伺服器處於同一個進程中,效率要顯著高於CGI。(由於微軟的排他性,只能運行於windows環境)cli:
cli是php的命令行運行模式,大家經常會使用它,但是可能並沒有注意到(例如:我們在linux下經常使用 「php -m」查找PHP安裝了那些擴展就是PHP命令行運行模式;有興趣的同學可以輸入php -h去深入研究該運行模式)總結:
每種運行模式都有自己的優缺點,沒有絕對的好與壞,主要是看大家處理何種環境。

㈢ PHP的功能有哪些

PHP 能做任何事。PHP 主要是用於服務端的腳本程序,因此可以用 PHP 來完成任何其它的 CGI 程序能夠完成的工作,例如收集表單數據,生成動態網頁,或者發送/接收 Cookies。但 PHP 的功能遠不局限於此。
PHP 腳本主要用於以下三個領域:
(1)服務端腳本。這是 PHP 最傳統,也是最主要的目標領域。開展這項工作需要具備以下三點:PHP 解析器(CGI 或者伺服器模塊)、web 伺服器和 web 瀏覽器。需要在運行 web 伺服器時,安裝並配置 PHP,然後,可以用 web 瀏覽器來訪問 PHP 程序的輸出,即瀏覽服務端的 PHP 頁面。如果只是實驗 PHP 編程,所有的這些都可以運行在自己家裡的電腦中。請查閱安裝一章以獲取更多信息。
(2)命令行腳本。可以編寫一段 PHP 腳本,並且不需要任何伺服器或者瀏覽器來運行它。通過這種方式,僅僅只需要 PHP 解析器來執行。這種用法對於依賴 cron(Unix 或者 Linux 環境)或者 Task Scheler(Windows 環境)的日常運行的腳本來說是理想的選擇。這些腳本也可以用來處理簡單的文本。請參閱 PHP 的命令行模式以獲取更多信息。
編寫桌面應用程序。對於有著圖形界面的桌面應用程序來說,PHP 或許不是一種最好的語言,但是如果用戶非常精通 PHP,並且希望在客戶端應用程序中使用 PHP 的一些高級特性,可以利用 PHP-GTK 來編寫這些程序。用這種方法,還可以編寫跨平台的應用程序。PHP-GTK 是 PHP 的一個擴展,在通常發布的 PHP 包中並不包含它。
(3)PHP 能夠用在所有的主流操作系統上,包括 Linux、Unix 的各種變種(包括 HP-UX、Solaris 和 OpenBSD)、microsoft Windows、Mac OS X、RISC OS 等。今天,PHP已經支持了大多數的 web 伺服器,包括 Apache、Microsoft Internet Information Server(IIS)、Personal web Server(PWS)、Netscape 以及 iPlant server、Oreilly Website Pro Server、Caudium、Xitami、OmniHTTPd 等。對於大多數的伺服器,PHP 提供了一個模塊;還有一些 PHP 支持 CGI 標准,使得 PHP 能夠作為 CGI 處理器來工作。

㈣ PHP是什麼類型的文件,該如何使用

PHP,即「PHP: Hypertext Preprocessor」,是一種廣泛用於 Open Source(開放源代碼)的尤其適合 Web 開發並可以嵌入 HTML 的多用途腳本語言。它的語法接近 C,Java 和 Perl,而且容易學習。該語言的主要目標是讓 Web 開發人員快速的書寫動態生成的網頁.
PHP 代碼是運行在服務端的.
它的使用需要你的伺服器安裝php服務.

PHP 能做什麼?
PHP 能做任何事。PHP 主要是用於服務端的腳本程序,因此您可以用 PHP 來完成任何其它的 CGI 程序能夠完成的工作,例如收集表單數據,生成動態網頁,或者發送/接收 Cookies。但 PHP 的功能遠不局限於此。

PHP 腳本主要用於以下三個領域。

服務端腳本。這是 PHP 最傳統,也是最主要的目標領域。開展這項工作您需要具備以下三點:PHP 解析器(CGI 或者伺服器模塊)、WEB 伺服器和 WEB 瀏覽器。您需要在運行 WEB 伺服器時,安裝並配置 PHP,然後,可以用 WEB 瀏覽器來訪問 PHP 程序的輸出,即瀏覽服務端的 PHP 頁面。請查閱「安裝」一章以獲取更多信息。

命令行腳本。您可以編寫一段 PHP 腳本,並且不需要任何伺服器或者瀏覽器來運行它。通過這種方式,您僅僅只需要 PHP 解析器來執行。這種用法對於依賴 cron(Unix 或者 Linux 環境)或者 Task Scheler(Windows 環境)的日常運行的腳本來說是理想的選擇。這些腳本也可以用來處理簡單的文本。請參閱「PHP 的命令行模式」以獲取更多信息。

編寫客戶端的 GUI 應用程序。對於基於窗口式的應用程序來說,PHP 或許不是一種最好的語言,但是如果您非常精通 PHP,並且希望在您的客戶端應用程序中使用 PHP 的一些高級特性,您可以利用 PHP-GTK 來編寫這些程序。用這種方法,您還可以編寫跨平台的應用程序。PHP-GTK 是 PHP 的一個擴展,在通常發布的 PHP 包中並不包含它。如果您對 PHP-GTK 感興趣,請訪問其網站以獲取更多信息。

PHP 能夠用在所有的主流操作系統上,包括 Linux、Unix 的各種變種(包括 HP-UX、Solaris 和 OpenBSD)、Microsoft Windows、Mac OS X、RISC OS 等。今天,PHP已經支持了大多數的 WEB 伺服器,包括 Apache、Microsoft Internet Information Server(IIS)、Personal Web Server(PWS)、Netscape 以及 iPlant server、Oreilly Website Pro Server、Caudium、Xitami、OmniHTTPd 等。對於大多數的伺服器,PHP 提供了一個模塊;還有一些 PHP 支持 CGI 標准,使得 PHP 能夠作為 CGI 處理器來工作。

綜上所述,使用 PHP,您可以自由地選擇操作系統和 WEB 伺服器。同時,您還可以在開發時選擇使用面對過程和面對對象,或者兩者混和的方式來開發。盡管 PHP 目前的版本還沒有支持 OOP 所有的標准,但很多代碼倉庫和大型的應用程序(包括 PEAR 庫)僅使用 OOP 代碼來開發。

使用 PHP,您並不局限於輸出 HTML。PHP 還能被用來動態輸出圖像、PDF 文件甚至 Flash 動畫(使用 libswf 和 Ming)。您還能夠非常簡便的輸出文本,例如 XHTML 以及任何其它形式的 XML 文件。PHP 能夠自動生成這些文件,在服務端開辟出一塊動態內容的緩存,可以直接把它們列印出來,或者將它們存儲到文件系統中。

PHP 最強大最顯著的特性之一,是它支持很大范圍的資料庫。您會發現利用 PHP 編寫資料庫支持的網頁簡單得難以置信。目前,PHP 支持如下資料庫:

Adabas D Ingres Oracle (OCI7 and OCI8)
dBase InterBase Ovrimos
Empress FrontBase PostgreSQL
FilePro (read-only) mSQL Solid
Hyperwave Direct MS-SQL Sybase
IBM DB2 MySQL Velocis
Informix ODBC Unix dbm

我們同時還有一個 DBX 擴展庫使得您可以自由的使用該擴展庫支持的任何資料庫。另外,PHP 還支持 ODBC,即 Open Database Connection Standard(開放資料庫連接標准),因此您可以連接任何其它支持該世界標準的資料庫。

PHP 還支持利用諸如 LDAP、IMAP、SNMP、NNTP、POP3、HTTP、COM(Windows 環境)等不計其數的協議的服務。您還可以開放原始網路埠,使得任何其它的協議能夠協同工作。PHP 支持和所有 WEB 開發語言之間的 WDDX 復雜數據交換。關於相互連接,PHP 已經支持了對 Java 對象的即時連接,並且可以將他們自由的用作 PHP 對象。您甚至可以用我們的 CORBA 擴展庫來訪問遠程對象。

PHP 具有極其有效的文本處理特性,支持從 POSIX 擴展或者 Perl 正則表達式到 XML 文檔解析。為了解析和訪問 XML 文檔,我們支持了 SAX 和 DOM 標准。您可以使用我們的 XSLT 擴展庫來轉換 XML 文檔。

如果您將 PHP 用於電子商務領域,您會發現其 Cybercash payment、CyberMUT、VeriSign Payflow Pro 以及 CCVS 函數對於您的在線交易程序來所是非常有用的。

㈤ windows下如何實現在命令行下運行PHP文件

window下,假設php安裝目錄為c:\program files\php5\,那麼使用命令窗口進入到該路徑下,敲入php hello.php回車,則會執行當前路徑下的hello.php文件,如果要指向其他路徑下php文件,可以在php 路徑/hello.php ,這種形式稱為CLI模式,我們平時通過瀏覽器看到的那種稱為CGI模式,至於傳遞參數,php文件在cli模式下,直接通過在文件名稱後面接參數,多個參數中間用空格隔開,在php文件裡面是通過兩個變數來獲取參數的,一個是$argv,一個是$argc,前者是傳遞參數的數組,默認第一個為php文件的名稱;後者為$argv的數組個數。
linux下,一般程序安裝都會安裝在/usr/bin/php下面,可以通過man php查看一下,如果有信息說明可以使用,使用方法類似於window下。如果前面這步成立,那麼你可以直接 php php文件 來運行php文件,如果man php沒有信息,則說明當前php執行文件沒有在環境路徑裡面,可以修改環境路徑包含php路徑,也可以類似於window進入php路徑,在執行 php php文件。其他類似於window下。

㈥ 如何在cmd命令行下運行php

把你安裝後的php.exe文件路徑添加到系統PATH下,就行了

㈦ thinkphp 命令行模式執行,如何才能執行資料庫的操作

在本地創建新的Git倉庫(連接別人的代碼和創建自己的代碼庫)
mkdir andbase
cd andbase
git init
touch README.md
git add README.md
git commit -m 'hello world'
git remote add origin [email protected]:Liutos/foobar.git
將主分支修改推送到伺服器

㈧ php 命令行模式下redis 無法使用

php
命令行模式使用的php.ini
可能和正常的不是一個,所以,你需要在命令行下執行。
php --ini
看一下載入的ini是否和網頁的是一個。如果是一個的話,還有看一下
php.ini
里 extension_dir
的路徑,改為絕對路徑。
否則將正常的替換到上圖
Loaded
Configuration
File
目錄。

熱點內容
IR實現編譯器 發布:2025-01-27 13:30:38 瀏覽:459
android圖片過大 發布:2025-01-27 13:30:34 瀏覽:426
公司伺服器怎麼搭建網站 發布:2025-01-27 13:24:43 瀏覽:920
光可以存儲 發布:2025-01-27 13:14:47 瀏覽:676
手機網盤加密文件 發布:2025-01-27 13:11:43 瀏覽:694
唐山有線機頂盒密碼是多少 發布:2025-01-27 13:10:25 瀏覽:251
如何讓電腦上擁有移動式伺服器 發布:2025-01-27 13:04:46 瀏覽:67
漫威超級戰爭如何配置核心組合 發布:2025-01-27 13:03:19 瀏覽:954
c語言五子棋程序 發布:2025-01-27 12:58:43 瀏覽:157
win10流媒體伺服器怎麼搭建 發布:2025-01-27 12:58:04 瀏覽:384