如何编译PHP 5.3 CGI?

php-cgi似乎已经在PHP 5.3.1中消失了。 我已经为./configure尝试了–enable-cgi和–disable-cli标志,但是它不会在sapi / cgi子目录下创build一个二进制文件。

我意识到我对这个派对很迟,但我认为PHP FPM(FastCGI Process Manager)是替代品。

您需要使用PHP 5.3.3并使用--enable-fpm configure标志,或者在早期版本的php-fpm网站上使用该补丁。 一个名为php-fpm的可执行文件是在sapi / fpm中创build的。

看起来,php-fpm和php-cgi是相互排斥的 – 也就是说,如果你使用--enable-fpm configure选项,它不会构buildphp-cgi可执行文件。

如果你同时需要,一个解决方法是在没有--enable-fpm情况下--enable-fpm ,保存一份php-cgi可执行文件,用--enable-fpm重新configuration,然后重新--enable-fpm

我解决了同样的问题。

看起来像当你尝试./configure你使用--with-apxs -that块来编译php-cgi版本。 根本不设置这个。

如果你使用Ubuntu,我可以看到应用程序被命名为“php5-cgi”

我使用下面的开关./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