php 配置

 

php

php不能單獨使用都是與httpd結合使用 結合的方式主要是兩種一種為模塊方式服務于httpd,一種為單獨服務方式服務httpd

兩種方式不能共存

安裝軟件包也不相同 網上有官方中文手冊 http://php.net/download-docs.php php對中文的支持需要安裝php-mbstring php對mysql的支持需要安裝php-mysql

php運行原理

PHP總共有三個模塊:內核、Zend引擎、以及擴展層;PHP內核用來處理請求、文件流、錯誤處理等相關操作;Zend引擎(ZE)用以將源文件轉換成機器語言,然后在虛擬機上運行它;擴展層是一組函數、類庫和流,PHP使用它們來執行一些特定的操作。比如,我們需要mysql擴展來連接MySQL數據庫;當ZE執行程序時可能會需要連接若干擴展,這時ZE將控制權交給擴展,等處理完特定任務后再返還;

最后,ZE將程序運行結果返回給PHP內核,它再將結果傳送給SAPI層,最終輸出到瀏覽器上。 PHP實現了一個典型的動態語言執行過程:拿到一段代碼后,經過詞法解析、語法解析等階段后,源程序會被翻譯成一個個指令 (opcodes),然后ZEND虛擬機順次執行這些指令完成操作。

以上引用網上有php運行原理的文章

以模塊方式于httpd結合

安裝php

Installing:
 php                          x86_64    5.4.16-36.el7_1        base  1.4 M
Installing for dependencies:
 apr                          x86_64    1.4.8-3.el7            base  103 k  ##php與httpd鉤子
 apr-util                     x86_64    1.5.2-6.el7            base  92 k
 httpd                        x86_64    2.4.6-40.el7.centos    base  2.7 M  ##php以模塊方式為httpd提供給服務,所以php依賴httpd服務
 httpd-tools                  x86_64    2.4.6-40.el7.centos    base  82 k
 libzip                       x86_64    0.10.1-8.el7           base  48 k
 mailcap                      noarch    2.1.41-2.el7           base  31 k
 php-cli                      x86_64    5.4.16-36.el7_1        base  2.7 M  ##執行php腳本的命令行接口,服務于php和CGI
 php-common                   x86_64    5.4.16-36.el7_1        base  563 k

[root@centos7 ~]# rpm -ql php          ##php以模塊方式為httpd提供給服務,所以php依賴httpd服務
/etc/httpd/conf.d/php.conf             ##配置httpd如何處理用戶請求調用php模塊
/etc/httpd/conf.modules.d/10-php.conf  ##httpd加載php模塊的配置    
/usr/lib64/httpd/modules/libphp5.so    ##安裝后,php自身為httpd的模塊
/usr/share/httpd/icons/php.gif        
/var/lib/php/session                   ##php保持的用戶會話文件,php追蹤用戶用的。session是有有效期的。  

[root@centos7 ~]# rpm -ql php-common  ##php的公共組件,也就是常用組件
/etc/php.d
/etc/php.d/curl.ini
/etc/php.d/fileinfo.ini
/etc/php.d/json.ini
/etc/php.d/phar.ini
/etc/php.d/zip.ini
/etc/php.ini                          ##配置php解釋器工作環境;

以單獨服務方式于httpd結合

安裝php-fpm

Installing:
 php-fpm                     x86_64    5.4.16-36.el7_1      base        1.4 M ##以獨立守護進程的方式提供php動態資源服務
Installing for dependencies:
 libzip                      x86_64    0.10.1-8.el7         base         48 k
 php-common                  x86_64    5.4.16-36.el7_1      base        563 k

[root@centos7 ~]# rpm -ql php-fpm
/etc/logrotate.d/php-fpm
/etc/php-fpm.conf           ###配置fpm守護進程的工作模式;怎么與客戶端交互的(httpd)
/etc/php-fpm.d
/etc/php-fpm.d/www.conf
/etc/sysconfig/php-fpm

[root@centos7 ~]# rpm -ql php-common  ##php的公共組件,也就是常用組件
/etc/php.d
/etc/php.d/curl.ini
/etc/php.d/fileinfo.ini
/etc/php.d/json.ini
/etc/php.d/phar.ini
/etc/php.d/zip.ini
/etc/php.ini                         #####配置php解釋器工作環境;


FastCGI 進程管理器(FPM)

FPM(FastCGI 進程管理器)用于替換 PHP FastCGI 的大部分附加功能,對于高負載網站是非常有用的。

它的功能包括:

支持平滑停止/啟動的高級進程管理功能;

可以工作于不同的 uid/gid/chroot 環境下,并監聽不同的端口和使用不同的 php.ini 配置文件(可取代 safe_mode 的設置);

stdout 和 stderr 日志記錄;

在發生意外情況的時候能夠重新啟動并緩存被破壞的 opcode;

文件上傳優化支持;

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

fastcgi_finish_request() - 特殊功能:用于在請求完成和刷新數據后,繼續在后臺執行耗時的工作(錄入視頻轉換、統計處理等);

動態/靜態子進程產生;

基本 SAPI 運行狀態信息(類似Apache的 mod_status);

基于 php.ini 的配置文件。

原創文章,作者:yyw,如若轉載,請注明出處:http://www.www58058.com/56552

(0)
yywyyw
上一篇 2016-11-01
下一篇 2016-11-01

相關推薦

  • linux高級文件管理系統

    磁盤配額:    linux是一個多用戶的系統,磁盤配額是分配給每個用戶的磁盤可用空間的限制。每一用戶只能使用最大配額范圍內的磁盤空間。root是不受配額限制的,只有普通用戶才受限制。   Quota是在RedHatlinux下實現linux磁盤配額的工具,它支持單獨的掛載文件系統,而不是一個目錄。quota默認是安裝的,如果沒…

    Linux干貨 2016-09-02
  • 磁盤管理

    磁盤管理磁盤管理 本章內容 ?磁盤結構 ?分區類型 ?管理分區 ?管理文件系統 ?掛載設備 ?管理虛擬內存 設備文件 ?I/O Ports: I/O設備地址 ?一切皆文件: open(), read(), write(), close() ?設備類型: 塊設備:block,存取單位“塊”,磁盤 字符設備:char,存取單位“字符”,鍵盤 ?設備文件:關聯至一…

    Linux干貨 2016-08-26
  • Nginx+Keepalived實現站點高可用

    Nginx+Keepalived實現站點高可用 vrrp 虛擬路由冗余協議(Virtual Router Redundancy Protocol,簡稱VRRP)是由IETF提出的解決局域網中配置靜態網關出現單點失效現象的路由協議,1998年已推出正式的RFC2338協議標準。VRRP廣泛應用在邊緣網絡中,它的設計目標是支持特定情況下IP數據流量失敗轉移不會引…

    Linux干貨 2016-11-07
  • 馬哥教育網絡班22期第1周課程作業

    一、基礎中的基礎————–計算機的組成部分         計算機組成分為硬件系統與軟件系統         硬件包括五個部分     1.控制器:控制器 I/O 存儲器 &nbs…

    Linux干貨 2016-08-15
  • sed命令的用法和vim編輯器的使用

    一、文本處理工具sed sed [option]….'script] [input-file]… 簡介: sed是一種流編輯器,他一次處理一行的內容,處理時把當前處理的行存儲在臨時緩沖區中,這個緩沖區被稱為模式空間,接著用sed命令處理,處理完成后把模式空間的內容送往屏幕,接著處理下一行,知道文件末尾,而文件的內容…

    Linux干貨 2016-08-15
  • 馬哥教育網絡班19期+第七周課程練習

    1、創建一個10G分區,并格式為ext4文件系統;   (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;         mke2fs -b 2048 -m 2 -L 'MYDATA' -o defau…

    Linux干貨 2016-06-21
欧美性久久久久