在Debian上安装php-fpm与nginx一起使用的首选/推荐方式是什么? 我到处读了一个“php5-fpm”的软件包,但是在官方的debian软件仓库中已经不存在了。
PHP-FPM网站( http://php-fpm.org/download/ )表示,fpm现在包含在php核心中。 那么安装“php5-common”就足够了吗? 虽然configuration文件在哪里?
其他人推荐从dotdeb.org安装当前版本的php和php-fpm。 在那里提供的版本通常更新。 但是安全吗? 这是一个很好的回购在生产环境中使用?
我将不胜感激任何意见。
自2010年6月以来,PHP5-FPM正在与核心PHP项目一起发货,但自从5.4.0RC2发布不到一年以前,它只获得了非实验性的地位。 1对于Debian,它可以在Wheezy(现在testing)和2以上 ,因为它没有发布Squeeze。 它可能会在“官方”挤压backports有一天,但仍然是PHP 5.3.x.
现在,如果你需要运行Debian Squeeze并且不想自己编译它,你必须坚持像dotdeb.org上那样的定制构build。
仅供参考,Ubuntu已经发布了包括PHP-FPM在内的三个稳定版本。 3
正如第一个答案中所build议的,我使用了dotdeb.org的软件包。 为了防止从这个回购一般安装所有可用的软件包,我在这个答案build议在/ etc / apt / preferences中使用apt-pinning。
我的设置如下所示:
security.pref
Pin: release l=Debian-Security Pin-Priority: 1000 Package: *
stable.pref
Pin: release a=stable Pin-Priority: 990 Package: *
dotdeb.pref
Package: * Pin: release o=packages.dotdeb.org Pin-Priority: 100 Package: libapache2-mod-php5 libapache2-mod-php5filter php-pear php5-cgi php5-cli php5-common php5-curl php5-dbg php5-dev php5-enchant php5-fpm php5-gd php5-gmp php5-imap php5-interbase php5-intl php5-ldap php5-mcrypt php5-mysql php5-odbc php5-pgsql php5-pspell php5-recode php5-snmp php5-sqlite php5-sybase php5-tidy php5-xmlrpc php5-xsl php5 Pin: release o=packages.dotdeb.org Pin-Priority: 991
(如上面链接的答案所示,相应地创build你的sources.list文件。)
有了这个设置,默认情况下 dotdeb软件包永远不会被安装(因为安全性还是有更高的优先级),所有“非php”(如nginx,redis,mysql,..)软件包都没有安装。 (优先级:100)
要安装(通缉)php程序包运行apt-get与-t指定要安装的存储库,例如像这样:
apt-get install -t stable php5-fpm php5-common php5-cgi
(请记住,您必须在安装语句中包含所有依赖关系!)
你当然可以根据你的情况调整这个设置。 希望这有助于你走上正确的轨道。
在本指南和手册页中了解更多关于apt-pinning的信息。