geofflee Asked: 2010-01-21 06:37:37 +0800 CST2010-01-21 06:37:37 +0800 CST 2010-01-21 06:37:37 +0800 CST 如何编译 PHP 5.3 CGI? 772 php-cgi 似乎在 PHP 5.3.1 中消失了。我已经为 ./configure 尝试了 --enable-cgi 和 --disable-cli 标志,但它不会在 sapi/cgi 子目录下创建二进制文件。 cgi php5 5 个回答 Voted Best Answer Shabbyrobe 2010-09-03T06:06:46+08:002010-09-03T06:06:46+08:00 我意识到我迟到了,但我认为 PHP FPM(FastCGI 流程管理器)是替代品。 您需要使用 PHP 5.3.3 并使用--enable-fpmconfigure 标志,或者使用php-fpm网站上的补丁获取早期版本。在 sapi/fpm 中创建了一个名为 php-fpm 的可执行文件。 tylerl 2010-12-15T02:31:15+08:002010-12-15T02:31:15+08:00 看起来 php-fpm 和 php-cgi 是互斥的——也就是说,如果您使用--enable-fpmconfigure 选项,它不会构建 php-cgi 可执行文件。 如果您需要两者都存在,解决方法是在没有 的情况下构建--enable-fpm,存储可执行文件的副本php-cgi,使用 重新配置--enable-fpm,然后重新构建。 Alex 2011-11-06T19:28:26+08:002011-11-06T19:28:26+08:00 我解决了同样的问题。 看起来当您尝试./configure使用--with-apxs-that 块来编译 php-cgi 版本时。根本不设置这个。 proy 2010-01-21T07:08:01+08:002010-01-21T07:08:01+08:00 如果您使用的是 Ubuntu,我可以看到该应用程序被命名为“php5-cgi” Sebastiano Pilla 2010-06-11T05:31:02+08:002010-06-11T05:31:02+08:00 我为 ./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
我意识到我迟到了,但我认为 PHP FPM(FastCGI 流程管理器)是替代品。
您需要使用 PHP 5.3.3 并使用
--enable-fpm
configure 标志,或者使用php-fpm网站上的补丁获取早期版本。在 sapi/fpm 中创建了一个名为 php-fpm 的可执行文件。看起来 php-fpm 和 php-cgi 是互斥的——也就是说,如果您使用
--enable-fpm
configure 选项,它不会构建 php-cgi 可执行文件。如果您需要两者都存在,解决方法是在没有 的情况下构建
--enable-fpm
,存储可执行文件的副本php-cgi
,使用 重新配置--enable-fpm
,然后重新构建。我解决了同样的问题。
看起来当您尝试
./configure
使用--with-apxs
-that 块来编译 php-cgi 版本时。根本不设置这个。如果您使用的是 Ubuntu,我可以看到该应用程序被命名为“php5-cgi”
我为 ./configure 使用以下开关,但这是针对 CentOS 5 和 PHP 5.2.13,我希望这在某种程度上有所帮助: