首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

PHP-FPM 原始碼安裝找不到 php-fpm 執行檔:configure 缺少 --enable-fpm 參數

     編輯:程式設計綜合問答

直接原因

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)。
  • 依賴庫缺失(libxml2, openssl, curl 等),導致 configure 失敗但未仔細檢查日誌。

安裝後配置

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 產物。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved