如何編譯 PHP 5.3 CGI?

如何編譯 PHP 5.3 CGI?

php-cgi 似乎在 PHP 5.3.1 中消失了。我已經嘗試了 ./configure 的 --enable-cgi 和 --disable-cli 標誌,但它不會在 sapi/cgi 子目錄下建立二進位檔案。

答案1

我意識到我在這方面已經很晚了,但我認為 PHP FPM(FastCGI 進程管理器)是替代品。

您需要使用 PHP 5.3.3 並使用--enable-fpm配置標誌,或使用補丁php-fpm早期版本的網站。在 sapi/fpm 中建立了一個名為 php-fpm 的可執行檔。

答案2

看來 php-fpm 和 php-cgi 是互斥的——也就是說,如果您使用--enable-fpm設定選項,它將不會建立 php-cgi 可執行檔。

如果您需要兩者都存在,解決方法是在不使用 的情況下構建--enable-fpm,存儲可執行文件的副本php-cgi,使用 重新配置--enable-fpm,然後重新構建。

答案3

我解決了同樣的問題。

看起來當你嘗試./configure使用--with-apxs-that 區塊來編譯 php-cgi 版本時。乾脆不設定這個。

答案4

我對 ./configure 使用以下開關,但這適用於 CentOS 5 和 PHP 5.2.13,我希望這在某種程度上有所幫助:

./configure --prefix=$INSTALL_BASE \
  --with-config-file-path=$INSTALL_BASE/etc/ \
  --enable-force-cgi-redirect \
  --enable-mbstring \
  --enable-fastcgi \
  --enable-gd-native-ttf \
  --enable-ftp \
  --enable-sockets \
  --enable-wddx \
  --enable-sqlite-utf8 \
  --enable-mbstring \
  --enable-mbregex \
  --enable-calendar \
  --enable-zip \
  --with-libxml-dir=$INSTALL_BASE \
  --with-freetype-dir=$INSTALL_BASE \
  --with-openssl \
  --with-mhash=$INSTALL_BASE \
  --with-mcrypt=$INSTALL_BASE \
  --with-zlib-dir=$INSTALL_BASE \
  --with-bz2 \
  --with-jpeg-dir=/usr \
  --with-png-dir=/usr \
  --with-gd \
  --with-iconv=$INSTALL_BASE \
  --with-curl=$INSTALL_BASE \
  --with-pgsql \
  --with-gettext \
  --with-imap=$INSTALL_BASE \
  --with-imap-ssl=/usr \
  --enable-bcmath \
  --with-pear \
  --with-xmlrpc

相關內容