如果一個Web用戶正在進入我的PHP網站並與它交互,那麼這個PHP文件將打開一個進程(使用一個線程),然後在php文件完成邏輯並將輸出發送到瀏覽器之後,該過程是關閉?一個php文件打開一個進程,但隨後進程關閉?
因爲如果它沒有關閉,那麼這將意味着該文件中變量的值將被取消刪除權?但是由於您始終必須使用值初始化新變量,這意味着該過程已關閉?
我剛剛在傳統的桌面應用程序中想到了這個原因,我認爲這個過程不會關閉,除非你關閉它。
如果一個Web用戶正在進入我的PHP網站並與它交互,那麼這個PHP文件將打開一個進程(使用一個線程),然後在php文件完成邏輯並將輸出發送到瀏覽器之後,該過程是關閉?一個php文件打開一個進程,但隨後進程關閉?
因爲如果它沒有關閉,那麼這將意味着該文件中變量的值將被取消刪除權?但是由於您始終必須使用值初始化新變量,這意味着該過程已關閉?
我剛剛在傳統的桌面應用程序中想到了這個原因,我認爲這個過程不會關閉,除非你關閉它。
PHP是REQUEST驅動的。正如您所描述的那樣,Web服務器的交互。
是的,在服務器上運行的桌面應用程序和php腳本在這些術語上有很大不同。
這取決於配置。例如,如果php作爲FastCGI運行,該進程將不會關閉,並將繼續運行以等待新的請求。
儘管您可以確定一件事情:不管配置如何:當腳本結束時,所有變量/ etc都將被初始化,所以您(程序員)不必擔心這一點。無論配置和過程是否關閉,它都會表現相同。
好的,這個過程在php文件的最後一行被執行後關閉。 – ajsie 2010-01-09 14:35:53
不,不一定。閱讀我的答案。 – 2010-01-09 14:39:03
但是當腳本完成時,與腳本執行相關的所有由PHP分配的資源(變量,文件/數據庫句柄,網絡套接字等)都被清除,但是如果它在Apache中以mod_php身份運行,或者以fastCGI身份運行,此時PROCESS不會終止 - 它只會進入待機狀態,直到它有新的服務請求。 C. – symcbean 2010-01-09 18:28:46