PHP是運(yùn)行與服務(wù)器端的腳本語言,實(shí)現(xiàn)了數(shù)據(jù)庫與網(wǎng)頁之間的數(shù)據(jù)交互。一個(gè)完整的PHP網(wǎng)站系統(tǒng)由以下幾部分組成。
創(chuàng)新互聯(lián)公司-成都網(wǎng)站建設(shè)公司,專注網(wǎng)站制作、做網(wǎng)站、網(wǎng)站營銷推廣,空間域名,網(wǎng)站空間,網(wǎng)站托管維護(hù)有關(guān)企業(yè)網(wǎng)站制作方案、改版、費(fèi)用等問題,請聯(lián)系創(chuàng)新互聯(lián)公司。
操作系統(tǒng)
網(wǎng)絡(luò)中的 服務(wù)器也是一臺(tái)計(jì)算機(jī),因此需要操作系統(tǒng)。PHP有著良好的跨平臺(tái)性,支持windows和Linux等操作系統(tǒng)
web服務(wù)器
當(dāng)一臺(tái)計(jì)算機(jī)中安裝操作系統(tǒng)后,還需要安裝web服務(wù)器才能進(jìn)行http訪問。常見的web服務(wù)器軟件有Apache、IIS、Nginx等
數(shù)據(jù)庫
用于網(wǎng)站數(shù)據(jù)的存儲(chǔ)和管理。PHP支持多種數(shù)據(jù)庫,包括MySQL、sql server,oracle。db2
PHP軟件
用于解析PHP腳本文件、訪問數(shù)據(jù)庫等,是運(yùn)行PHP代碼所必須的軟件。
瀏覽器
是瀏覽網(wǎng)頁的客戶端。由于PHP腳本是在服務(wù)器端運(yùn)行的,因此通過瀏覽器看到的是經(jīng)過PHP處理后的html結(jié)果。。Zend引擎:Zend整體用純C實(shí)現(xiàn),是PHP的內(nèi)核部分,他將PHP代碼翻譯(詞法、語法解析等一系列編譯過程)為可執(zhí)行opcode的處理并實(shí)現(xiàn)相應(yīng)的處理方法、實(shí)現(xiàn)了基本的數(shù)據(jù)結(jié)構(gòu)(如:hashtable、OO)、內(nèi)存分配機(jī)制及管理、提供了相應(yīng)的api方法供外部調(diào)用,是一切的核心,所有的外圍功能均圍繞Zend實(shí)現(xiàn)。
2、Extensions:圍繞著Zend引擎,extensions通過組件式的方式提供各種基礎(chǔ)服務(wù),我們常見的各種內(nèi)置函數(shù)(array系列)、標(biāo)準(zhǔn)庫等都是通過extension來實(shí)現(xiàn),用戶也可以根據(jù)需要實(shí)現(xiàn)自己的extension的典型應(yīng)用)。
3、Sapi:Sapi全稱Server Application Programming Interface,也就是服務(wù)端應(yīng)用編程接口,Sapi通過一系列鉤子函數(shù),使得PHP可以和外圍交互數(shù)據(jù),這是PHP非常優(yōu)雅和成功的設(shè)計(jì),通過sapi成功的將PHP本身和上層應(yīng)用解耦隔離,PHP可以不再考慮如何針對不同應(yīng)用進(jìn)行兼容,而應(yīng)用本身也可以針對自己的特點(diǎn)實(shí)現(xiàn)不同的處理方式。
4、上層應(yīng)用:這就是我們平時(shí)編寫的PHP程序,通過不同的spai方式得到各種各樣的應(yīng)用模式,如何通過webserver實(shí)現(xiàn)web應(yīng)用、在命令行下已腳本方式運(yùn)行等等。
從圖上可以看到,PHP實(shí)現(xiàn)了一個(gè)典型的動(dòng)態(tài)語言執(zhí)行過程:拿到一段代碼后,經(jīng)過詞法解析、語法解析等階段后,源程序會(huì)被翻譯成一個(gè)個(gè)指令 (opcodes),然后ZEND虛擬機(jī)順次執(zhí)行這些指令完成操作。PHP本身是用C實(shí)現(xiàn)的,因此最終調(diào)用的也都是C的函數(shù),實(shí)際上,我們可以把PHP看 做是一個(gè)C開發(fā)的軟件。
PHP的執(zhí)行的核心是翻譯出來的一條一條指令,也即opcode。
Opcode是PHP程序執(zhí)行的最基本單位。一個(gè)opcode由兩個(gè)參數(shù)(op1,op2)、返回值和處理函數(shù)組成。PHP程序最終被翻譯為一組opcode處理函數(shù)的順序執(zhí)行。
常見的幾個(gè)處理函數(shù):
1 ? ?ZEND_ASSIGN_SPEC_CV_CV_HANDLER : 變量分配 ($a=$b) ?
2 ? ?ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER:函數(shù)調(diào)用 ?
3 ? ?ZEND_CONCAT_SPEC_CV_CV_HANDLER:字符串拼接 $a.$b ?
4 ? ?ZEND_ADD_SPEC_CV_CONST_HANDLER: 加法運(yùn)算 $a+2 ?
5 ? ?ZEND_IS_EQUAL_SPEC_CV_CONST:判斷相等 $a==1 ?
6 ? ?ZEND_IS_IDENTICAL_SPEC_CV_CONST:判斷相等 $a===1 ?
你是cli模式還是cgi模式?cli模式不用設(shè)默認(rèn)就是無時(shí)間限制,cgi默認(rèn)是有30秒超時(shí)限制。
你可以先看看每次中斷是固定時(shí)長,還是固定次數(shù);也可以多打日志,每次循環(huán)都輸出些參考參數(shù)如循環(huán)條件、內(nèi)存使用等信息,再分析哪些可能導(dǎo)致程序中斷的原因。
不用php做這個(gè),自己寫個(gè)服務(wù),或者數(shù)據(jù)庫自己也可以實(shí)現(xiàn)。
php是服務(wù)器端動(dòng)態(tài)腳本語言,生命周期有限,
客戶端請求,服務(wù)器運(yùn)行php,php執(zhí)行結(jié)束,服務(wù)器將php的結(jié)果發(fā)給客戶端,
所以php不會(huì)一直在運(yùn)行的~
應(yīng)該是php運(yùn)行數(shù)據(jù)庫
用mysql_connect鏈接數(shù)據(jù)庫
用mysql_query調(diào)用數(shù)據(jù)
具體情況還要百度
名稱欄目:php數(shù)據(jù)運(yùn)行 PHP運(yùn)行
URL分享:http://m.rwnh.cn/article36/hiigsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、Google、網(wǎng)站制作、品牌網(wǎng)站建設(shè)、外貿(mào)建站、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)