php-cgi 似乎在 PHP 5.3.1 中消失了。我尝试了 ./configure 的 --enable-cgi 和 --disable-cli 标志,但它并没有在 sapi/cgi 子目录下创建二进制文件。
答案1
我意识到我参加这个活动已经很晚了,但我认为 PHP FPM (FastCGI 进程管理器) 是替代品。
您需要使用 PHP 5.3.3 并使用--enable-fpm
configure 标志,或者使用php-fpm早期版本的网站。在 sapi/fpm 中创建了一个名为 php-fpm 的可执行文件。
答案2
看来 php-fpm 和 php-cgi 是互斥的——也就是说,如果您使用--enable-fpm
configure 选项,它将不会构建 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