PHP 原始碼編譯預設不包含 FPM 進程管理器,必須在 configure 階段啟用:
./configure --prefix=/usr/local/php \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-mbstring \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
...其他常用擴充
make && make install
ls /usr/local/php/sbin/ # 應有 php-fpm
ls /usr/local/php/etc/ # 應有 php-fpm.conf.default
--enable-fpm。make install 權限不足(需 root)。cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
# 編輯 pid, error_log, pool 設定
/usr/local/php/sbin/php-fpm --test # 測試配置語法
/usr/local/php/sbin/php-fpm # 啟動
# systemd 單元檔 /etc/systemd/system/php-fpm.service
[Unit]
Description=PHP FastCGI Process Manager
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
Restart=on-failure
[Install]
WantedBy=multi-user.target
PHP 原始碼安裝缺少 php-fpm 99% 是 configure 未加 --enable-fpm。重新配置並編譯即可獲得完整 FPM 產物。