我是一名PHP开发人员已有3年了,我终于把它作为业余爱好,在家里创建了一个Ubuntu 14.04虚拟机,用于开发个人项目和研究新事物。
我确实只是通过apt-get install
一些软件包来配置Nginx + PHP + PHP-FPM环境,而不是对配置进行一些更改,确定无效......
但我想更进一步!我想编译一个特定的PHP版本,而不是apt-get的php5-fpm附带的那个...尝试过它让我头疼!由于某种原因,无法使编译的PHP与PHP-FPM一起使用...
我确实按照教程和配置环境但我真的不知道我正在做什么,所以现在我正在破坏我的VM并创建一个新的仍然使用Ubuntu 14.04,但这次我想把事情做好!
这是我想要的配置:NGINX + PHP-FPM + PHP 5.6.16(我将使用PostgreSQL作为DB,但我可以处理它)
除非你教我一些更好的东西,否则我会假装跟随步骤:
configure.sh
脚本编译PHP 5.6.16:#!/bin/bash
./configure \
--prefix=/opt/php
--enable-intl \
--enable-opcache \
--enable-mbstring \
--enable-bcmath \
--enable-soap \
--enable-zip \
--enable-pdo \
--enable-ftp \
--enable-cli \
--enable-inline-optimization \
--enable-exif \
--enable-gd-native-ttf \
--enable-libxml \
--enable-sockets \
--enable-calendar \
--enable-wddx \
--enable-pcntl \
--enable-pthreads \
--with-config-file-path=/etc/php/ \
--with-config-file-scan-dir=/etc/php/conf.d/ \
--with-curl \
--with-pdo-mysql \
--with-pdo-pgsql \
--with-pdo-sqlite \
--with-mcrypt \
--with-pear \
--with-openssl \
--with-iconv \
--with-mysql \
--with-mysqli \
--with-pgsql \
--with-mssql \
--with-zlib \
--with-gd \
--with-jpeg-dir=/usr \
--with-gettext \
--with-xmlrpc \
--with-xsl \
--with-tidy \
--with-pcre-regex \
--with-mhash \
--with-kerberos \
--with-pspell \
--with-bz2 \
--with-ldap \
--with-libdir=lib/i386-linux-gnu \
--enable-fpm \
--with-fpm-user=www-data \
--with-fpm-group=www-data
现在我该怎么做才能使PHP-FPM工作?!
我在php.net上看到,在编译PHP时启用PHP-FPM你只需要使用--enable-fpm
,但仍然有些怀疑......
apt-get install php5-fpm
吗?请告诉我一些知识!
答案 0 :(得分:1)
从PHP 5.3.3开始,php-fpm随PHP一起发布
--enable-fpm
只需启用它,因为它是内置的sapi模块$YOUR_PHP_INSTALL_DIR/sbin/php-fpm
是FPM可执行文件,只需运行它,默认配置是监听127.0.0.1:9000
答案 1 :(得分:1)
--enable-fpm
将安装并启用php-fpm apt-get install php5-fpm
但我猜你完成编译时不能使用php-fpm和nginx,因为默认情况下他们不会自己配置。
php-fpm是一个守护进程,当一个请求发送到php-fpm时,它将用php处理器响应,而php-fpm监听端口使用TCP / IP,nginx通过fastcgi访问php-fpm,这意味着你可以使用多个版本的php,并使用一个nginx服务器访问它们。这是我的配置文件,希望它可以帮到你
https://github.com/liujin834/php7-configure/tree/master/etc
你可以启动nginx和php-fpm使用配置文件
nginx -c /opt/server/etc/nginx/nginx.conf
php-fpm -y /opt/server/etc/php/php-fpm.conf -c /opt/server/etc/php/php.ini