nginx安裝php
http://www.nginx.cn/installnginx
php安裝web
https://segmentfault.com/a/1190000004123048#articleHeader5apache
約定幾個目錄:segmentfault
/usr/local/php/sbin/php-fpm
/usr/local/php/etc/php-fpm.conf
/usr/local/php/etc/php.ini數組
=====瀏覽器
https://segmentfault.com/a/1190000004123048#articleHeader5安全
http://www.nginx.cn/install服務器
php-fpm的啓動參數網絡
./php-fpm能夠發現參數
php-fpm -n -e -h -i -m -v -t -p<prefix> -g<pid> -c<file> -d foo[=bar] -y<file> -D -F -O
-c 在給定目錄中尋找php.ini文件
-n 沒有php.ini時,可使用
-d 定義INI entry,初值爲bar
-e 產生擴展的信息對於debugger/profiler
-h 幫助
-i php information
-m 在modules中顯示編譯好的
-v 版本
-p 指定替換的前綴目錄爲FastCGI進程管理(默認是/usr/local/php7)
-g 指定PID文件位置
-y 指定替換的路徑爲FastCGI進程管理配置
-t 測試FPM配置&& 結束
-D --daemonize, 強制在後臺運行,忽略conf文件中的守護進程選項
-F --nodaemonize,強制在前臺運行,忽略conf文件中的守護進程選項
-O --force-stderr,在nodaemonize強制輸出到stderr,即便stderr不是個tn-as-rooty
-R --allow-to-run-as-root,容許pool做爲root運行,默認是禁止的
========
ERROR: [pool www] cannot get uid for user 'nginx'
須要修改/usr/local/php7/etc/php-fpm.d/www.conf
將user&group修改成當前系統的用戶名,而後從新啓動
=========
php 字符串類型
\n
\"
\r
\'
\t 製表符
\$
\\
數組類型,對象類型,資源類型
NULL類型,NULL是一個比較特殊的類型,表示變量沒有任何值。
========================
URL地址用於描述一個網絡上的資源,基本格式以下:
schema://host[:port#]/path/.../[?query-string][#anchor]
scheme 指定底層使用的協議(http,https,ftp)
host http服務器的ip地址或者域名
port# http服務器的默認端口爲80,這種狀況下端口能夠省略,可是若是使用了
別的端口,必須使用。例如:http://127.0.0.1:8080/index.php
path 訪問資源的路徑
query-string 發送給http服務器的數據
anchor 錨
==
URL的一個例子-》
http://www.mywebsite.com/sj/test/test.aspx?name=sviergn&x=true#stuff
Schema: http
host: www.mywebsite.com
path: /sj/test/test.aspx
Query String: name=sviergn&x=true
Anchor: stuff
==
http是無狀態的
http消息的格式:
先看Request消息的格式,分爲3個部分,
1,Request line 2,Request header 3,body
其中body和header之間有個空行,結構以下
---------------------------------------
METHOD/path-to-resourcde HTTP/Version-number
---------------------------------------
Header-Name-1:value
Header-Name-2:valu
----------------------------------------
-----------------------------------------
Optional requst body |
------------------------------------------
第一行中的method表示請求方法,好比post/get
path-to-resource表示請求的資源
http/version-number表示請求的http協議的版本號
當使用get方法時,body是空的。
============
如今再看Response的結構,和Request同樣
一樣也是分爲三部分呢,
1,Response line
2,Response header
3, body
header和body之間也有個空行。
------------------------
http/version-number | status code | message
------------------------
header-name-1: value
header-name-2: value
------------------------
------------------------
optional Response body
-------------------------=====================http://www.php-note.com/article/detail/430
http協議是創建在tcp/ip協議基礎上的
咱們的web開發數據的傳輸都是依賴於http協議
在服務端,咱們能夠經過$_SERVER來獲取咱們須要的信息
重要的有:
HTTP_HOST=localhost
REMOTE_ADDR = 127.0.0.1訪問該頁面的IP
DOCUMENT_ROOT=xxx 獲取apache的主目錄
REQIEST_URL=/http2.php 能夠獲取請求的資源名字
--------
http請求有兩種方式:
get/post區別與聯繫
1,安全性 get請求的數據會顯示在地址欄上,post請求的數據放在http協議消息體內
2,從提交的數據大小看:
http協議自己並無限制數據的大小
瀏覽器在對get/post請求做顯示,get請求數據2k+35post請求沒有限制
3,get請求能夠更好的添加到收藏夾
--------------