超碰在线天天性国产视频|无码人妻玩麻豆中出一区有奶水|日日日日日日日日日日日日网96|91视频农村妇女网站|精品美女日本一区|日韩无码一区视频|精品素人AV婷婷色视频|日本精品视频手机在线|少妇高清无码一二区|激情四射综合婷婷

貨幣問(wèn)答:php具體是做什么的

李蠻子

PHP 工程師是什么

PHP 工程師 (PHP Programmar) 定義: 正在以PHP程序?yàn)橹饕ぷ?并正在進(jìn)行新產(chǎn)品的研發(fā).可以同時(shí)使用C+/perl等輔助提高PHP程序性能的人是PHP工程師. 描述: PHP工程師是. 特征: 1: 精通一種或多種linux. 2: 快速編寫(xiě)結(jié)構(gòu)清晰,代碼格式優(yōu)美的PHP程序. 3: 能夠進(jìn)行框架級(jí)通用程序的研發(fā). 4: 能夠在程序開(kāi)發(fā)初期就通過(guò)項(xiàng)目規(guī)劃避免未來(lái)可能出現(xiàn)的性能瓶頸. 5: 能夠使用框架/類庫(kù)加速項(xiàng)目開(kāi)發(fā)進(jìn)度. 6: 有自己的代碼庫(kù). 7: 能夠勝任大部分服務(wù)器和部分服務(wù)器集群優(yōu)化工作. 技術(shù)要求我就不說(shuō)了.具體到PHP中級(jí)程序員之后,PHP程序員就開(kāi)始選擇發(fā)展方向進(jìn)行分化了.能夠到這一步的人,基本都對(duì)自己的職業(yè)規(guī)劃有清晰的認(rèn)識(shí).目前國(guó)內(nèi)此類人才奇少.

推薦
不推薦
展開(kāi)
收起
閔姓道姑

php是干什么用的????

這么說(shuō)吧,php就是實(shí)現(xiàn)用戶和服務(wù)器交流的語(yǔ)言。前臺(tái)就是你看到的那些東西,有些事不會(huì)變的,但有些東西是會(huì)變的,你告訴服務(wù)器你想要什么,服務(wù)器就給你顯示什么,這個(gè)過(guò)程就需要用到php來(lái)實(shí)現(xiàn),也就是后臺(tái)的數(shù)據(jù)調(diào)用。就拿這個(gè)百度知道的頁(yè)面說(shuō)吧,你每個(gè)問(wèn)題看到的東西都不一樣,但是結(jié)構(gòu)都是一樣的,這個(gè)結(jié)構(gòu)就是前臺(tái)設(shè)計(jì)好的,而這些內(nèi)容就是根據(jù)你點(diǎn)的問(wèn)題,通過(guò)php(也可能是其他服務(wù)端腳本語(yǔ)言)來(lái)獲取相應(yīng)的數(shù)據(jù),然后在相應(yīng)的位置顯示相應(yīng)的內(nèi)容;你填寫(xiě)好提問(wèn)或回答,點(diǎn)提交,然后又是通過(guò)php把你的提交的數(shù)據(jù)保存起來(lái),以便以后或其他人查看。

我只是不懂為什么后臺(tái)也要用到編程啊  而且代碼看著和前端代碼差不多  那么學(xué)完php后代碼到底要在前端寫(xiě)還是后臺(tái)寫(xiě)啊   比如下面這個(gè)代碼   為什么在前端里面加入了php代碼?hello, world
html是靜態(tài)文本,是不能喝服務(wù)器交互的,就是你所謂的前臺(tái),那要和服務(wù)器交互獲取或上傳數(shù)據(jù)就要用到php了,就是所謂的后臺(tái)編程。php是腳本語(yǔ)言,就像js也是腳本語(yǔ)言,只不過(guò)js是在用戶端執(zhí)行的,php是在服務(wù)器端執(zhí)行的。php獲取數(shù)據(jù)后要在頁(yè)面上顯示出來(lái)就要用到php的輸出,就像你這里的至于說(shuō)寫(xiě)在什么地方,這個(gè)沒(méi)規(guī)定的,一般獲取數(shù)據(jù)的代碼寫(xiě)在前面或者其他頁(yè)面然后調(diào)用,輸出數(shù)據(jù)就嵌套在html代碼里你要輸出的地方。

推薦
不推薦
展開(kāi)
收起
鐘縉

think php 是做什么的??

ThinkPHP是為了簡(jiǎn)化企業(yè)級(jí)應(yīng)用開(kāi)發(fā)和敏捷WEB應(yīng)用開(kāi)發(fā)而誕生的。最早誕生于2006年初,2007年元旦正式更名為T(mén)hinkPHP,并且遵循Apache2開(kāi)源協(xié)議發(fā)布。ThinkPHP從誕生以來(lái)一直秉承簡(jiǎn)潔實(shí)用的設(shè)計(jì)原則,在保持出色的性能和至簡(jiǎn)的代碼的同時(shí),也注重易用性。并且擁有眾多原創(chuàng)功能和特性,在社區(qū)團(tuán)隊(duì)的積極參與下,在易用性、擴(kuò)展性和性能方面不斷優(yōu)化和改進(jìn)。[1] ThinkPHP是一個(gè)快速、兼容而且簡(jiǎn)單的輕量級(jí)國(guó)產(chǎn)PHP開(kāi)發(fā)框架,誕生于2006年初,原名FCS,2007年元旦正式更名為T(mén)hinkPHP,遵循Apache2開(kāi)源協(xié)議發(fā)布,從Struts結(jié)構(gòu)移植過(guò)來(lái)并做了改進(jìn)和完善,同時(shí)也借鑒了國(guó)外很多優(yōu)秀的框架和模式,使用面向?qū)ο蟮拈_(kāi)發(fā)結(jié)構(gòu)和MVC模式,融合了Struts的思想和TagLib(標(biāo)簽庫(kù))、RoR的ORM映射和ActiveRecord模式。ThinkPHP可以支持windows/Unix/Linux等服務(wù)器環(huán)境,正式版需要PHP5.0以上版本支持,支持MySql、PgSQL、Sqlite以及PDO等多種數(shù)據(jù)庫(kù),ThinkPHP框架本身沒(méi)有什么特別模塊要求,具體的應(yīng)用系統(tǒng)運(yùn)行環(huán)境要求視開(kāi)發(fā)所涉及的模塊。作為一個(gè)整體開(kāi)發(fā)解決方案,ThinkPHP能夠解決應(yīng)用開(kāi)發(fā)中的大多數(shù)需要,因?yàn)槠渥陨戆说讓蛹軜?gòu)、兼容處理、基類庫(kù)、數(shù)據(jù)庫(kù)訪問(wèn)層、模板引擎、緩存機(jī)制、插件機(jī)制、角色認(rèn)證、表單處理等常用的組件,并且對(duì)于跨版本、跨平臺(tái)和跨數(shù)據(jù)庫(kù)移植都比較方便。并且每個(gè)組件都是精心設(shè)計(jì)和完善的,應(yīng)用開(kāi)發(fā)過(guò)程僅僅需要關(guān)注您的業(yè)務(wù)邏輯。

推薦
不推薦
展開(kāi)
收起
火獅子

php中,value到底是干什么用的?

這里的value就是起賦值作用的。意思是:第一個(gè)單選按鈕顯示為男,賦值為1;第二個(gè)顯示為女的,賦值為2;其實(shí)這里的value僅僅起標(biāo)識(shí)作用。你也可以將value賦值為男,女。只要你能分清那個(gè)表示男,那個(gè)表示女就可以了。追問(wèn)

http://zhidao.baidu.com/question/1705541311023093300.html
本回答被提問(wèn)者和網(wǎng)友采納

推薦
不推薦
展開(kāi)
收起
徐晃

php的sockets是做什么用的

HP 使用Berkley的socket庫(kù)來(lái)創(chuàng)建它的連接。你可以知道socket只不過(guò)是一個(gè)數(shù)據(jù)結(jié)構(gòu)。你使用這個(gè)socket數(shù)據(jù)結(jié)構(gòu)去開(kāi)始一個(gè)客戶端和服務(wù)器之間的會(huì)話。這個(gè)服務(wù)器是一直在監(jiān)聽(tīng)準(zhǔn)備產(chǎn)生一個(gè)新的會(huì)話。當(dāng)一個(gè)客戶端連接服務(wù)器,它就打開(kāi)服務(wù)器正在進(jìn)行監(jiān)聽(tīng)的一個(gè)端口進(jìn)行會(huì)話。這時(shí),服務(wù)器端接受客戶端的連接請(qǐng)求,那么就進(jìn)行一次循環(huán)。現(xiàn)在這個(gè)客戶端就能夠發(fā)送信息到服務(wù)器,服務(wù)器也能發(fā)送信息給客戶端。產(chǎn)生一個(gè)Socket,你需要三個(gè)變量:一個(gè)協(xié)議、一個(gè)socket類型和一個(gè)公共協(xié)議類型。產(chǎn)生一個(gè)socket有三種協(xié)議供選擇,繼續(xù)看下面的內(nèi)容來(lái)獲取詳細(xì)的協(xié)議內(nèi)容。定義一個(gè)公共的協(xié)議類型是進(jìn)行連接一個(gè)必不可少的元素。下面的表我們看看有那些公共的協(xié)議類型。表一:協(xié)議名字/常量 描述AF_INET 這是大多數(shù)用來(lái)產(chǎn)生socket的協(xié)議,使用TCP或UDP來(lái)傳輸,用在IPv4的地址AF_INET6 與上面類似,不過(guò)是來(lái)用在IPv6的地址AF_UNIX 本地協(xié)議,使用在Unix和Linux系統(tǒng)上,它很少使用,一般都是當(dāng)客戶端和服務(wù)器在同一臺(tái)及其上的時(shí)候使用表二:Socket類型名字/常量 描述SOCK_STREAM 這個(gè)協(xié)議是按照順序的、可靠的、數(shù)據(jù)完整的基于字節(jié)流的連接。這是一個(gè)使用最多的socket類型,這個(gè)socket是使用TCP來(lái)進(jìn)行傳輸。SOCK_DGRAM 這個(gè)協(xié)議是無(wú)連接的、固定長(zhǎng)度的傳輸調(diào)用。該協(xié)議是不可靠的,使用UDP來(lái)進(jìn)行它的連接。SOCK_SEQPACKET 這個(gè)協(xié)議是雙線路的、可靠的連接,發(fā)送固定長(zhǎng)度的數(shù)據(jù)包進(jìn)行傳輸。必須把這個(gè)包完整的接受才能進(jìn)行讀取。SOCK_RAW 這個(gè)socket類型提供單一的網(wǎng)絡(luò)訪問(wèn),這個(gè)socket類型使用ICMP公共協(xié)議。(ping、traceroute使用該協(xié)議)SOCK_RDM 這個(gè)類型是很少使用的,在大部分的操作系統(tǒng)上沒(méi)有實(shí)現(xiàn),它是提供給數(shù)據(jù)鏈路層使用,不保證數(shù)據(jù)包的順序表三:公共協(xié)議名字/常量 描述ICMP 互聯(lián)網(wǎng)控制消息協(xié)議,主要使用在網(wǎng)關(guān)和主機(jī)上,用來(lái)檢查網(wǎng)絡(luò)狀況和報(bào)告錯(cuò)誤信息UDP 用戶數(shù)據(jù)報(bào)文協(xié)議,它是一個(gè)無(wú)連接,不可靠的傳輸協(xié)議TCP 傳輸控制協(xié)議,這是一個(gè)使用最多的可靠的公共協(xié)議,它能保證數(shù)據(jù)包能夠到達(dá)接受者那兒,如果在傳輸過(guò)程中發(fā)生錯(cuò)誤,那么它將重新發(fā)送出錯(cuò)數(shù)據(jù)包?,F(xiàn)在你知道了產(chǎn)生一個(gè)socket的三個(gè)元素,那么我們就在php中使用socket_create()函數(shù)來(lái)產(chǎn)生一個(gè)socket。這個(gè) socket_create()函數(shù)需要三個(gè)參數(shù):一個(gè)協(xié)議、一個(gè)socket類型、一個(gè)公共協(xié)議。socket_create()函數(shù)運(yùn)行成功返回一個(gè)包含socket的資源類型,如果沒(méi)有成功則返回false。Resourece socket_create(int protocol, int socketType, int commonProtocol);現(xiàn)在你產(chǎn)生一個(gè)socket,然后呢?php提供了幾個(gè)操縱socket的函數(shù)。你能夠綁定socket到一個(gè)IP,監(jiān)聽(tīng)一個(gè)socket的通信,接受一個(gè)socket;現(xiàn)在我們來(lái)看一個(gè)例子,了解函數(shù)是如何產(chǎn)生、接受和監(jiān)聽(tīng)一個(gè)socket。<?php$commonProtocol = getprotobyname(“tcp”);$socket = socket_create(AF_INET, SOCK_STREAM, $commonProtocol);socket_bind($socket, ‘localhost’, 1337);socket_listen($socket);// More socket functionality to come?>上面這個(gè)例子產(chǎn)生一個(gè)你自己的服務(wù)器端。例子第一行,$commonProtocol = getprotobyname(“tcp”);使用公共協(xié)議名字來(lái)獲取一個(gè)協(xié)議類型。在這里使用的是TCP公共協(xié)議,如果你想使用UDP或者ICMP協(xié)議,那么你應(yīng)該把getprotobyname() 函數(shù)的參數(shù)改為“udp”或“icmp”。還有一個(gè)可選的辦法是不使用getprotobyname()函數(shù)而是指定SOL_TCP或SOL_UDP在 socket_create()函數(shù)中。$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);例子的第二行是產(chǎn)生一個(gè)socket并且返回一個(gè)socket資源的實(shí)例。在你有了一個(gè)socket資源的實(shí)例以后,你就必須把socket綁定到一個(gè)IP地址和某一個(gè)端口上。socket_bind($socket, ‘localhost’, 1337);在這里你綁定socket到本地計(jì)算機(jī)(127.0.0.1)和綁定socket到你的1337端口。然后你就需要監(jiān)聽(tīng)所有進(jìn)來(lái)的socket連接。socket_listen($socket);在第四行以后,你就需要了解所有的socket函數(shù)和他們的使用。表四:Socket函數(shù)函數(shù)名 描述socket_accept() 接受一個(gè)Socket連接socket_bind() 把socket綁定在一個(gè)IP地址和端口上socket_clear_error() 清除socket的錯(cuò)誤或者最后的錯(cuò)誤代碼socket_close() 關(guān)閉一個(gè)socket資源socket_connect() 開(kāi)始一個(gè)socket連接socket_create_listen() 在指定端口打開(kāi)一個(gè)socket監(jiān)聽(tīng)socket_create_pair() 產(chǎn)生一對(duì)沒(méi)有區(qū)別的socket到一個(gè)數(shù)組里socket_create() 產(chǎn)生一個(gè)socket,相當(dāng)于產(chǎn)生一個(gè)socket的數(shù)據(jù)結(jié)構(gòu)socket_get_option() 獲取socket選項(xiàng)socket_getpeername() 獲取遠(yuǎn)程類似主機(jī)的ip地址socket_getsockname() 獲取本地socket的ip地址socket_iovec_add() 添加一個(gè)新的向量到一個(gè)分散/聚合的數(shù)組socket_iovec_alloc() 這個(gè)函數(shù)創(chuàng)建一個(gè)能夠發(fā)送接收讀寫(xiě)的iovec數(shù)據(jù)結(jié)構(gòu)socket_iovec_delete() 刪除一個(gè)已經(jīng)分配的iovecsocket_iovec_fetch() 返回指定的iovec資源的數(shù)據(jù)socket_iovec_free() 釋放一個(gè)iovec資源socket_iovec_set() 設(shè)置iovec的數(shù)據(jù)新值socket_last_error() 獲取當(dāng)前socket的最后錯(cuò)誤代碼socket_listen() 監(jiān)聽(tīng)由指定socket的所有連接socket_read() 讀取指定長(zhǎng)度的數(shù)據(jù)socket_readv() 讀取從分散/聚合數(shù)組過(guò)來(lái)的數(shù)據(jù)socket_recv() 從socket里結(jié)束數(shù)據(jù)到緩存socket_recvfrom() 接受數(shù)據(jù)從指定的socket,如果沒(méi)有指定則默認(rèn)當(dāng)前socketsocket_recvmsg() 從iovec里接受消息socket_select() 多路選擇socket_send() 這個(gè)函數(shù)發(fā)送數(shù)據(jù)到已連接的socketsocket_sendmsg() 發(fā)送消息到socketsocket_sendto() 發(fā)送消息到指定地址的socketsocket_set_block() 在socket里設(shè)置為塊模式socket_set_nonblock() socket里設(shè)置為非塊模式socket_set_option() 設(shè)置socket選項(xiàng)socket_shutdown() 這個(gè)函數(shù)允許你關(guān)閉讀、寫(xiě)、或者指定的socketsocket_strerror() 返回指定錯(cuò)誤號(hào)的詳細(xì)錯(cuò)誤socket_write() 寫(xiě)數(shù)據(jù)到socket緩存socket_writev() 寫(xiě)數(shù)據(jù)到分散/聚合數(shù)組(注: 函數(shù)介紹刪減了部分原文內(nèi)容,函數(shù)詳細(xì)使用建議參考英文原文,或者參考PHP手冊(cè))以上所有的函數(shù)都是PHP中關(guān)于socket的,使用這些函數(shù),你必須把你的socket打開(kāi),如果你沒(méi)有打開(kāi),請(qǐng)編輯你的php.ini文件,去掉下面這行前面的注釋:extension=php_sockets.dll如果你無(wú)法去掉注釋,那么請(qǐng)使用下面的代碼來(lái)加載擴(kuò)展庫(kù):<?phpif(!extension_loaded(‘sockets’)){if(strtoupper(substr(PHP_OS, 3)) == “WIN”){dl(‘php_sockets.dll’);}else{dl(‘sockets.so’);}}?>如果你不知道你的socket是否打開(kāi),那么你可以使用phpinfo()函數(shù)來(lái)確定socket是否打開(kāi)。你通過(guò)查看phpinfo信息了解socket是否打開(kāi)。如下圖:查看phpinfo()關(guān)于socket的信息◆ 產(chǎn)生一個(gè)服務(wù)器現(xiàn)在我們把第一個(gè)例子進(jìn)行完善。你需要監(jiān)聽(tīng)一個(gè)指定的socket并且處理用戶的連接。<?php$commonProtocol = getprotobyname("tcp");$socket = socket_create(AF_INET, SOCK_STREAM, $commonProtocol);socket_bind($socket, 'localhost', 1337);socket_listen($socket);// Accept any incoming connections to the server$connection = socket_accept($socket);if($connection){socket_write($connection, "You have connected to the socket.../n/r");}?>你應(yīng)該使用你的命令提示符來(lái)運(yùn)行這個(gè)例子。理由是因?yàn)檫@里將產(chǎn)生一個(gè)服務(wù)器,而不是一個(gè)Web頁(yè)面。如果你嘗試使用Web瀏覽器來(lái)運(yùn)行這個(gè)腳本,那么很有可能它會(huì)超過(guò)30秒的限時(shí)。你可以使用下面的代碼來(lái)設(shè)置一個(gè)無(wú)限的運(yùn)行時(shí)間,但是還是建議使用命令提示符來(lái)運(yùn)行。set_time_limit(0);在你的命令提示符中對(duì)這個(gè)腳本進(jìn)行簡(jiǎn)單測(cè)試:Php.exe example01_server.php如果你沒(méi)有在系統(tǒng)的環(huán)境變量中設(shè)置php解釋器的路徑,那么你將需要給php.exe指定詳細(xì)的路徑。當(dāng)你運(yùn)行這個(gè)服務(wù)器端的時(shí)候,你能夠通過(guò)遠(yuǎn)程登陸(telnet)的方式連接到端口1337來(lái)測(cè)試這個(gè)服務(wù)器。如下圖:上面的服務(wù)器端有三個(gè)問(wèn)題:1. 它不能接受多個(gè)連接。2. 它只完成唯一的一個(gè)命令。3. 你不能通過(guò)Web瀏覽器連接這個(gè)服務(wù)器。這個(gè)第一個(gè)問(wèn)題比較容易解決,你可以使用一個(gè)應(yīng)用程序去每次都連接到服務(wù)器。但是后面的問(wèn)題是你需要使用一個(gè)Web頁(yè)面去連接這個(gè)服務(wù)器,這個(gè)比較困難。你可以讓你的服務(wù)器接受連接,然后些數(shù)據(jù)到客戶端(如果它一定要寫(xiě)的話),關(guān)閉連接并且等待下一個(gè)連接。在上一個(gè)代碼的基礎(chǔ)上再改進(jìn),產(chǎn)生下面的代碼來(lái)做你的新服務(wù)器端:<?php// Set up our socket$commonProtocol = getprotobyname("tcp");$socket = socket_create(AF_INET, SOCK_STREAM, $commonProtocol);socket_bind($socket, 'localhost', 1337);socket_listen($socket);// Initialize the buffer$buffer = "NO DATA";while(true){// Accept any connections coming in on this socket$connection = socket_accept($socket);printf("Socket connected/r/n");// Check to see if there is anything in the bufferif($buffer != ""){printf("Something is in the buffer...sending data.../r/n");socket_write($connection, $buffer . "/r/n");printf("Wrote to socket/r/n");}else{printf("No Data in the buffer/r/n");}// Get the inputwhile($data = socket_read($connection, 1024, PHP_NORMAL_READ)){$buffer = $data;socket_write($connection, "Information Received/r/n");printf("Buffer: " . $buffer . "/r/n");}socket_close($connection);printf("Closed the socket/r/n/r/n");}?>這個(gè)服務(wù)器端要做什么呢?它初始化一個(gè)socket并且打開(kāi)一個(gè)緩存收發(fā)數(shù)據(jù)。它等待連接,一旦產(chǎn)生一個(gè)連接,它將打印“Socket connected”在服務(wù)器端的屏幕上。這個(gè)服務(wù)器檢查緩沖區(qū),如果緩沖區(qū)里有數(shù)據(jù),它將把數(shù)據(jù)發(fā)送到連接過(guò)來(lái)的計(jì)算機(jī)。然后它發(fā)送這個(gè)數(shù)據(jù)的接受信息,一旦它接受了信息,就把信息保存到數(shù)據(jù)里,并且讓連接的計(jì)算機(jī)知道這些信息,最后關(guān)閉連接。當(dāng)連接關(guān)閉后,服務(wù)器又開(kāi)始處理下一次連接。(翻譯的爛,附上原文)This is what the server does. It initializes the socket and the buffer that you use to receiveand send data. Then it waits for a connection. Once a connection is created it prints“Socket connected” to the screen the server is running on. The server then checks to see ifthere is anything in the buffer; if there is, it sends the data to the connected computer.After it sends the data it waits to receive information. Once it receives information it storesit in the data, lets the connected computer know that it has received the information, andthen closes the connection. After the connection is closed, the server starts the wholeprocess again.◆ 產(chǎn)生一個(gè)客戶端處理第二個(gè)問(wèn)題是很容易的。你需要產(chǎn)生一個(gè)php頁(yè)連接一個(gè)socket,發(fā)送一些數(shù)據(jù)進(jìn)它的緩存并處理它。然后你又個(gè)處理后的數(shù)據(jù)在還頓,你能夠發(fā)送你的數(shù)據(jù)到服務(wù)器。在另外一臺(tái)客戶端連接,它將處理那些數(shù)據(jù)。To solve the second problem is very easy. You need to create a PHP page that connects toa socket, receive any data that is in the buffer, and process it. After you have processed thedata in the buffer you can send your data to the server. When another client connects, itwill process the data you sent and the client will send more data back to the server.下面的例子示范了使用socket:<?php// Create the socket and connect$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);$connection = socket_connect($socket,’localhost’, 1337);while($buffer = socket_read($socket, 1024, PHP_NORMAL_READ)){if($buffer == “NO DATA”){echo(“<p>NO DATA</p>”);break;}else{// Do something with the data in the bufferecho(“<p>Buffer Data: “ . $buffer . “</p>”);}}echo(“<p>Writing to Socket</p>”);// Write some test data to our socketif(!socket_write($socket, “SOME DATA/r/n”)){echo(“<p>Write failed</p>”);}// Read any response from the socketwhile($buffer = socket_read($socket, 1024, PHP_NORMAL_READ)){echo(“<p>Data sent was: SOME DATA<br> Response was:” . $buffer . “</p>”);}echo(“<p>Done Reading from Socket</p>”);?>這個(gè)例子的代碼演示了客戶端連接到服務(wù)器??蛻舳俗x取數(shù)據(jù)。如果這是第一時(shí)間到達(dá)這個(gè)循環(huán)的首次連接,這個(gè)服務(wù)器將發(fā)送“NO DATA”返回給客戶端。如果情況發(fā)生了,這個(gè)客戶端在連接之上??蛻舳税l(fā)送它的數(shù)據(jù)到服務(wù)器,數(shù)據(jù)發(fā)送給服務(wù)器,客戶端等待響應(yīng)。一旦接受到響應(yīng),那么它將把響應(yīng)寫(xiě)到屏幕上。

推薦
不推薦
展開(kāi)
收起
姚嫂

PHP中的FPM是做什么的

FPM(FastCGI 進(jìn)程管理器)用于替換 PHP FastCGI 的大部分附加功能,對(duì)于高負(fù)載網(wǎng)站是非常有用的。它的功能包括:

  • 支持平滑停止/啟動(dòng)的高級(jí)進(jìn)程管理功能;

  • 可以工作于不同的 uid/gid/chroot 環(huán)境下,并監(jiān)聽(tīng)不同的端口和使用不同的 php.ini 配置文件(可取代 safe_mode 的設(shè)置);

  • stdout 和 stderr 日志記錄;

  • 在發(fā)生意外情況的時(shí)候能夠重新啟動(dòng)并緩存被破壞的 opcode;

  • 文件上傳優(yōu)化支持;

  • "慢日志" - 記錄腳本(不僅記錄文件名,還記錄 PHP backtrace 信息,可以使用 ptrace或者類似工具讀取和分析遠(yuǎn)程進(jìn)程的運(yùn)行數(shù)據(jù))運(yùn)行所導(dǎo)致的異常緩慢;

  • fastcgi_finish_request() - 特殊功能:用于在請(qǐng)求完成和刷新數(shù)據(jù)后,繼續(xù)在后臺(tái)執(zhí)行耗時(shí)的工作(錄入視頻轉(zhuǎn)換、統(tǒng)計(jì)處理等);

  • 動(dòng)態(tài)/靜態(tài)子進(jìn)程產(chǎn)生;

  • 基本 SAPI 運(yùn)行狀態(tài)信息(類似Apache的 mod_status);

  • 基于 php.ini 的配置文件。

推薦
不推薦
展開(kāi)
收起
章南姑

PHP開(kāi)發(fā)主管是做什么的

1、PHP是做后臺(tái)的,主要是做網(wǎng)站后臺(tái)的!2、使用PHP語(yǔ)言開(kāi)發(fā)互聯(lián)網(wǎng)應(yīng)用程序;3、網(wǎng)站產(chǎn)品和網(wǎng)站功能模塊的開(kāi)發(fā)與維護(hù);4、與頁(yè)面設(shè)計(jì)師協(xié)調(diào)溝通,編寫(xiě)部分Javascript和HTML;5、參與底層MVC框架的編寫(xiě)與維護(hù)。

推薦
不推薦
展開(kāi)
收起
王夫人

php大馬是干什么的??

大馬:指木馬病毒;php大馬,就是php寫(xiě)的提取站點(diǎn)權(quán)限的程序;因?yàn)閹в刑釞?quán)或者修改站點(diǎn)功能,所以稱為叫木馬;

推薦
不推薦
展開(kāi)
收起
天心陰環(huán)

php文件是做什么用的?

PHP,即“PHP: Hypertext Preprocessor”,是一種廣泛用于 Open Source(開(kāi)放源代碼)的尤其適合 Web 開(kāi)發(fā)并可以嵌入 HTML 的多用途腳本語(yǔ)言。它的語(yǔ)法接近 C,Java 和 Perl,而且容易學(xué)習(xí)。該語(yǔ)言的主要目標(biāo)是讓 Web 開(kāi)發(fā)人員快速的書(shū)寫(xiě)動(dòng)態(tài)生成的網(wǎng)頁(yè). PHP 代碼是運(yùn)行在服務(wù)端的. 它的使用需要你的服務(wù)器安裝php服務(wù). PHP 能做什么? PHP 能做任何事。PHP 主要是用于服務(wù)端的腳本程序,因此您可以用 PHP 來(lái)完成任何其它的 CGI 程序能夠完成的工作,例如收集表單數(shù)據(jù),生成動(dòng)態(tài)網(wǎng)頁(yè),或者發(fā)送/接收 Cookies。但 PHP 的功能遠(yuǎn)不局限于此。 PHP 腳本主要用于以下三個(gè)領(lǐng)域。 服務(wù)端腳本。這是 PHP 最傳統(tǒng),也是最主要的目標(biāo)領(lǐng)域。開(kāi)展這項(xiàng)工作您需要具備以下三點(diǎn):PHP 解析器(CGI 或者服務(wù)器模塊)、WEB 服務(wù)器和 WEB 瀏覽器。您需要在運(yùn)行 WEB 服務(wù)器時(shí),安裝并配置 PHP,然后,可以用 WEB 瀏覽器來(lái)訪問(wèn) PHP 程序的輸出,即瀏覽服務(wù)端的 PHP 頁(yè)面。請(qǐng)查閱“安裝”一章以獲取信息。 命令行腳本。您可以編寫(xiě)一段 PHP 腳本,并且不需要任何服務(wù)器或者瀏覽器來(lái)運(yùn)行它。通過(guò)這種方式,您僅僅只需要 PHP 解析器來(lái)執(zhí)行。這種用法對(duì)于依賴 cron(Unix 或者 Linux 環(huán)境)或者 Task Scheduler(Windows 環(huán)境)的日常運(yùn)行的腳本來(lái)說(shuō)是理想的選擇。這些腳本也可以用來(lái)處理簡(jiǎn)單的文本。請(qǐng)參閱“PHP 的命令行模式”以獲取信息。 編寫(xiě)客戶端的 GUI 應(yīng)用程序。對(duì)于基于窗口式的應(yīng)用程序來(lái)說(shuō),PHP 或許不是一種最好的語(yǔ)言,但是如果您非常精通 PHP,并且希望在您的客戶端應(yīng)用程序中使用 PHP 的一些高級(jí)特性,您可以利用 PHP-GTK 來(lái)編寫(xiě)這些程序。用這種方法,您還可以編寫(xiě)跨平臺(tái)的應(yīng)用程序。PHP-GTK 是 PHP 的一個(gè)擴(kuò)展,在通常發(fā)布的 PHP 包中并不包含它。如果您對(duì) PHP-GTK 感興趣,請(qǐng)?jiān)L問(wèn)其網(wǎng)站以獲取信息。 PHP 能夠用在所有的主流操作系統(tǒng)上,包括 Linux、Unix 的各種變種(包括 HP-UX、Solaris 和 OpenBSD)、Microsoft Windows、Mac OS X、RISC OS 等。今天,PHP已經(jīng)支持了大多數(shù)的 WEB 服務(wù)器,包括 Apache、Microsoft Internet Information Server(IIS)、Personal Web Server(PWS)、Netscape 以及 iPlant server、Oreilly Website Pro Server、Caudium、Xitami、OmniHTTPd 等。對(duì)于大多數(shù)的服務(wù)器,PHP 提供了一個(gè)模塊;還有一些 PHP 支持 CGI 標(biāo)準(zhǔn),使得 PHP 能夠作為 CGI 處理器來(lái)工作。 綜上所述,使用 PHP,您可以自由地選擇操作系統(tǒng)和 WEB 服務(wù)器。同時(shí),您還可以在開(kāi)發(fā)時(shí)選擇使用面對(duì)過(guò)程和面對(duì)對(duì)象,或者兩者混和的方式來(lái)開(kāi)發(fā)。盡管 PHP 目前的版本還沒(méi)有支持 OOP 所有的標(biāo)準(zhǔn),但很多代碼倉(cāng)庫(kù)和大型的應(yīng)用程序(包括 PEAR 庫(kù))僅使用 OOP 代碼來(lái)開(kāi)發(fā)。 使用 PHP,您并不局限于輸出 HTML。PHP 還能被用來(lái)動(dòng)態(tài)輸出圖像、PDF 文件甚至 Flash 動(dòng)畫(huà)(使用 libswf 和 Ming)。您還能夠非常簡(jiǎn)便的輸出文本,例如 XHTML 以及任何其它形式的 XML 文件。PHP 能夠自動(dòng)生成這些文件,在服務(wù)端開(kāi)辟出一塊動(dòng)態(tài)內(nèi)容的緩存,可以直接把它們打印出來(lái),或者將它們存儲(chǔ)到文件系統(tǒng)中。 PHP 最強(qiáng)大最顯著的特性之一,是它支持很大范圍的數(shù)據(jù)庫(kù)。您會(huì)發(fā)現(xiàn)利用 PHP 編寫(xiě)數(shù)據(jù)庫(kù)支持的網(wǎng)頁(yè)簡(jiǎn)單得難以置信。目前,PHP 支持如下數(shù)據(jù)庫(kù): 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 我們同時(shí)還有一個(gè) DBX 擴(kuò)展庫(kù)使得您可以自由的使用該擴(kuò)展庫(kù)支持的任何數(shù)據(jù)庫(kù)。另外,PHP 還支持 ODBC,即 Open Database Connection Standard(開(kāi)放數(shù)據(jù)庫(kù)連接標(biāo)準(zhǔn)),因此您可以連接任何其它支持該世界標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)。 PHP 還支持利用諸如 LDAP、IMAP、SNMP、NNTP、POP3、HTTP、COM(Windows 環(huán)境)等不計(jì)其數(shù)的協(xié)議的服務(wù)。您還可以開(kāi)放原始網(wǎng)絡(luò)端口,使得任何其它的協(xié)議能夠協(xié)同工作。PHP 支持和所有 WEB 開(kāi)發(fā)語(yǔ)言之間的 WDDX 復(fù)雜數(shù)據(jù)交換。關(guān)于相互連接,PHP 已經(jīng)支持了對(duì) Java 對(duì)象的即時(shí)連接,并且可以將他們自由的用作 PHP 對(duì)象。您甚至可以用我們的 CORBA 擴(kuò)展庫(kù)來(lái)訪問(wèn)遠(yuǎn)程對(duì)象。 PHP 具有極其有效的文本處理特性,支持從 POSIX 擴(kuò)展或者 Perl 正則表達(dá)式到 XML 文檔解析。為了解析和訪問(wèn) XML 文檔,我們支持了 SAX 和 DOM 標(biāo)準(zhǔn)。您可以使用我們的 XSLT 擴(kuò)展庫(kù)來(lái)轉(zhuǎn)換 XML 文檔。 如果您將 PHP 用于電子商務(wù)領(lǐng)域,您會(huì)發(fā)現(xiàn)其 Cybercash payment、CyberMUT、VeriSign Payflow Pro 以及 CCVS 函數(shù)對(duì)于您的在線交易程序來(lái)所是非常有用的。參考資料:版權(quán) © 1997, 1998, 1999, 2000, 2001, 2002, 2003 PHP 文檔小組

推薦
不推薦
展開(kāi)
收起
查看更多答案
收起