php常用運行方式是什麼(php程序用什麼運行)

本文目錄一覽:

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 Module)

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

$ch = curl_init();

$timeout = 5;

curl_setopt ($ch, CURLOPT_URL, ”);

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

$file_contents = curl_exec($ch);

curl_close($ch);

echo $file_contents;

?

PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。

它可以比CGI或者Perl更快速地執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標準通用標記語言下的一個應用)文檔中去執行,

執行效率比完全生成HTML標記的CGI要高許多;

PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。

php文件怎麼運行。

首先要有php運行的環境,最常用的就是wamp或lamp組合。

或者php安裝包中有個php.exe文件也是可以運行php文件的,一般做定時任務都是使用這個去運行php文件的。

php文件屬於服務端腳本語言,需要apache或者iis等服務器軟件的支持,我們一般用php來做web開發,它的優點在於開發速度快,成本比較低,相對於java等其他語言在開發中小型網站的性價比較高等優點。

PHP是怎麼運行的,PHP是運行

一,首先到PHP官網下載php(目前php有3個stable分支版本7.1、7.0、5.6,如果有項目需求就下載需求版本,如果是個人學習,建議下載最新版),根據32位/64位系統下載ZIP包即可,不需要Debug包,(下面我要說的是Nginx+PHP的方式,推薦使用Non Thread Safe版本):

二、到Nginx官網下載Nginx(個人學習建議Mainline版本,項目開發建議Stable版本),注意選擇windows的包!:

三、下載完上面的兩個包後解壓即可(建議放到不經常移動的地方)。

四、用純文本編輯器打開Nginx裡面conf文件夾裡面的nginx.conf文件,進行如下編輯即可:

worker_processes  auto;

events {

    worker_connections  1024;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    # access_log \\.\\nul; #關閉訪問日誌

    sendfile             on;

    tcp_nopush           on;

    tcp_nodelay          on;

    keepalive_timeout    65;

    types_hash_max_size  2048;

    ssl_protocols              TLSv1.2 TLSv1.1 TLSv1;

    ssl_prefer_server_ciphers  on;

    gzip  on;

    server {

        listen       80 default_server;

        listen       [::]:80 default_server;

        server_name  _;

        root         html; #這裡指定為你網站的根目錄,比如C:\html,默認是相對於Nginx目錄下

        index        index.php index.html;

        charset      utf-8;

        location / {

            try_files  $uri $uri/ =404;

        }

        location ~ \.php$ {

            fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.cpp;

            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

            include        fastcgi_params;

            try_files      $fastcgi_script_name =404;

        }

    }

}

五、根據需要可以編輯php.ini。

六、創建快捷方式以便於啟動php和Nginx:

桌面上右鍵-》新建-》快捷方式,位置選擇到php文件夾下的php-cgi.exe文件,並加上參數: -b 127.0.0.1:9000。(比如PHP文件夾在C:\php,位置就是”C:\php\php-cgi.exe -b 127.0.0.1:9000″),下一步名字隨意,完成。

桌面上再右鍵-》新建-》快捷方式,位置選擇到Nginx文件夾下的nginx.exe即可。可以沒有參數。

再創建一個停止Nginx的快捷方式(PHP要停止直接在php的窗口按Ctrl+C即可):桌面上右鍵-》新建-》快捷方式,位置選擇到Nginx文件夾下的nginx.exe,並加上參數:  -s quit。(比如Nginx文件夾在C:\Nginx,位置就是”C:\Nginx\nginx.exe -s quit”)。

七、分別雙擊上面創建的兩個快捷方式,啟動php和Nginx(php會一直有一個黑框,不要關,Nginx是黑框一閃而過,任務管理器里可以看到多個Nginx進程)。

八、在上面配置文件里設置的網站根目錄里創建一個php文件,內容為:

?php

phpinfo();

九、打開瀏覽器訪問“127.0.0.1”或者“[::1]”,如果正常顯示PHP信息界面了就表示環境搭建成功了。

十、要關閉的話,php在那個黑框框按Ctrl+C即可,然後運行剛剛創建的那個Nginx退出的快捷方式即可關閉Nginx。

純手打,望~~!

原創文章,作者:CF6BW,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/129505.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
CF6BW的頭像CF6BW
上一篇 2024-10-03 23:26
下一篇 2024-10-03 23:26

相關推薦

  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • Python程序文件的拓展

    Python是一門功能豐富、易於學習、可讀性高的編程語言。Python程序文件通常以.py為文件拓展名,被廣泛應用於各種領域,包括Web開發、機器學習、科學計算等。為了更好地發揮P…

    編程 2025-04-29
  • Python購物車程序

    Python購物車程序是一款基於Python編程語言開發的程序,可以實現購物車的相關功能,包括商品的添加、購買、刪除、統計等。 一、添加商品 添加商品是購物車程序的基礎功能之一,用…

    編程 2025-04-29
  • 爬蟲是一種程序

    爬蟲是一種程序,用於自動獲取互聯網上的信息。本文將從如下多個方面對爬蟲的意義、運行方式、應用場景和技術要點等進行詳細的闡述。 一、爬蟲的意義 1、獲取信息:爬蟲可以自動獲取互聯網上…

    編程 2025-04-29
  • Vb運行程序的三種方法

    VB是一種非常實用的編程工具,它可以被用於開發各種不同的應用程序,從簡單的計算器到更複雜的商業軟件。在VB中,有許多不同的方法可以運行程序,包括編譯器、發布程序以及命令行。在本文中…

    編程 2025-04-29
  • Python一元二次方程求解程序

    本文將詳細闡述Python一元二次方程求解程序的相關知識,為讀者提供全面的程序設計思路和操作方法。 一、方程求解 首先,我們需要了解一元二次方程的求解方法。一元二次方程可以寫作: …

    編程 2025-04-29
  • 如何使用GPU加速運行Python程序——以CSDN為中心

    GPU的強大性能是眾所周知的。而隨着深度學習和機器學習的發展,越來越多的Python開發者將GPU應用於深度學習模型的訓練過程中,提高了模型訓練效率。在本文中,我們將介紹如何使用G…

    編程 2025-04-29

發表回復

登錄後才能評論