如何编译 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-fpmconfigure 标志,或者使用php-fpm早期版本的网站。在 sapi/fpm 中创建了一个名为 php-fpm 的可执行文件。

答案2

看来 php-fpm 和 php-cgi 是互斥的——也就是说,如果您使用--enable-fpmconfigure 选项,它将不会构建 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

相关内容