使用php-fpm,修改了php.ini配置,必須重新開機php-fpm。php-fpm應該是和web伺服器分離的,可能不一定需要重新開機nginx等。
php-fpm的配置,可覆寫 php.ini 的配置。
當php.ini中的配置不生效,就應該想到還有php-fpm.conf。它可以配置php.ini,也可以有自己的特有的配置。例如,前面轉載過的文章中,關于一個請求時間的配置:
max_execution_time 是php.ini中設定的,腳本最大執行時間
request_terminate_timeout 是php-fpm.conf中設定,最大執行時間。這個選項更重要!
name - 名稱
php-fpm - PHP FastCGI Process Manager 'PHP-FPM'(php的fastcgi 程序管理器)
synopsis - 大綱,摘要
php-fpm [options]
description - 描述
PHP是一個廣泛使用的通用腳本語言,尤其适合于Web開發,并可以嵌入到HTML中。這是php的一個變體,運作在背景作為一個守護程序,監聽CGI請求。輸出記錄在 '/usr/local/var/log/php-fpm.log' 日志。
大多數的選項設定在配置檔案中。配置檔案是 '/usr/local/etc/php/7.1/php-fpm.conf'。預設情況下,php-fpm響應監聽在localhost的http端口為9000的CGI請求。是以,php-fpm期望web伺服器将'.php' 檔案的請求轉發到 9000 端口,你應該适當的配置你的web伺服器配置。
options - 選項
-C// 不将工作目錄切換到 '腳本目錄' --php-ini | -c path | file // 在指定的 'path' 中查找php.ini | 直接使用指定的php.ini 'file' --no-php-ini | -n // 不使用 'php.ini' 檔案 --define foo[=bar] | -d foo[=bar]// 定義INI配置項 -e // 為debugger/profiler生成額外的擴充資訊 --help | -h // 指令幫助 --info | -i // PHP資訊和配置 --modules | -m // 顯示編譯的子產品 --version | -v // 顯示版本 -p // 指定替代的路徑字首(預設是 '/usr/local/Cellar/php71/7.1.0-rc.3_8'),結合其他選項,相對的就是該路徑 --pid | -g file// 指定 'PID' 檔案位置 --fpm-config | -y file// 指定替代的FastCGI程序管理器配置檔案(預設是 '/usr/local/etc/php/7.1/php-fpm.conf') --test | -t // 測試 FPM 配置檔案并退出。如果調用2次 '-tt',在退出前列印配置 --daemonize | -D // 強制在背景運作,并忽略配置檔案中守護程序的配置選項 --nodaemonize | -F // 強制在前台運作,并忽略配置檔案中守護程序的配置選項 --force-stderr | -O // 在前台運作模式下,強制輸出到标準錯誤輸出(stderr),即使标準錯誤輸出(stderr)不是一個 'TTY'(裝置) --allow-to-run-as-root | -R // 允許程序池以root使用者運作(預設非root運作)
files - 檔案
php-fpm.conf // php-fpm 守護程序的配置檔案
php.ini // 标準php配置檔案
examples - 示例
對于任意使用 'init.d' 作為主程序管理的類unix系統,應該使用'init'腳本提供php-fpm守護程序的啟動和停止。
sudo /etc/init.d/php-fpm start
對于任意使用 'systemd' 作為主程序管理的類unix系統,應該使用'unit'檔案提供php-fpm守護程序的啟動和停止。
sudo systemctl start php-fpm.service
如果你的安裝沒有适合的初始化腳本,啟動php-fpm不需要任何參數。預設以守護程序啟動(背景程序)。'/usr/local/var/run/php-fpm.pid' 檔案決定php-fpm是否已經啟動和運作。一旦啟動,php-fpm會響應幾個POSIX信号:
SIGINT,SIGTERM - 立即停止SIGQUIT - 友好的停止SIGUSER1 - 重新打開日志檔案SIGUSER2 - 友好的重新開機所有的工作程序 + 友好的重新開機php-fpm配置/二進制檔案
tips - 提示
PHP-FPM CFI守護程序和大多數流行的web伺服器都工作的很好,包括:Apache2,lighttpd以及nginx。