【问题标题】:How to really enable php-fpm with apache?如何真正使用 apache 启用 php-fpm?
【发布时间】:2017-07-30 20:03:05
【问题描述】:

我安装了 apache2.4 和 php-fpm,但我仍然有 php5-cgi 处理我的请求,尽管 php-fpm 进程正在运行。

这就是我所做的:

apt-get install php5-fpm
apt-get install libapache2-mod-fastcgi
a2enmod actions

像这样编辑 /etc/apache2/mods-available/fastcgi.conf :

<IfModule mod_fastcgi.c>
AddHandler php5-fcgi .php
Action php5-fcgi /php5-fcgi
Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /var/run/php5-fpm.sock -pass-header  Authorization
<Directory /usr/lib/cgi-bin>
Require all granted
</Directory>
</IfModule>

service apache2 restart

但是现在如果我运行 phpinfo() 我会得到:

Server API  CGI/FastCGI

代替 FPM/FastCGI

【问题讨论】:

    标签: php apache


    【解决方案1】:

    好的,我终于找到了不使用 php fpm 的原因: 我需要在我的虚拟主机文件中启用它。编辑:

    /etc/apache2/sites-enabled/domain.conf

    删除:

    AddType application/x-httpd-php .php
    AddHandler fcgid-script .php
    AddHandler fcgid-script .php5
    FCGIWrapper /home/domain/fcgi-bin/php5.fcgi .php
    

    添加:

    ProxyPassMatch ^/(.*.php(/.*)?)$ unix:/var/run/php5-fpm.sock|fcgi://localhost/home/domain/domains/domain/public_html/$1
    

    【讨论】:

      【解决方案2】:

      再试一次:

      安装 Apache Worker MPM(多处理模块)

      sudo apt-get install apache2-mpm-worker
      sudo apt-get install libapache2-mod-fastcgi php5-fpm php5
      sudo apt-get update
      

      又一次:

      sudo apt-get install libapache2-mod-fastcgi php5-fpm php5
      
      sudo a2enmod actions fastcgi alias
      

      重启apache

      sudo service apache2 restart
      

      然后sudo nano /etc/apache2/conf.d/php5-fpm.conf 并将其粘贴到:

      <IfModule mod_fastcgi.c>
          AddHandler php5-fcgi .php
          Action php5-fcgi /php5-fcgi
          Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
          FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization
          <Directory /usr/lib/cgi-bin>
              Require all granted 
          </Directory>
          #directory statement mult be on multiple lines
      </IfModule>
      

      然后:

      sudo service apache2 restart
      

      应该可以的

      【讨论】:

      • a2enconf php5-fpm:错误:Conf php5-fpm 不存在!并安装了php5
      • 所以再次尝试apt-get install php5-fpm
      • service apache2 reload再试一次。
      • 如果您的 apache2 服务器 apache2 -version 是 2.3 或更高版本,那么检查您是否有 /etc/apache2/conf.d/php5-fpm.conf 文件?如果没有创建一个并将这一行粘贴到&lt;Directory /usr/lib/cgi-bin&gt; Require all granted &lt;/Directory&gt; 中,然后再次重新启动您的服务器。
      • 我有 apache 2.4 并且 /etc/apache2/conf.d/ 不存在。所以我创建了这个目录,里面的文件,重启了apache,我仍然得到同样的错误:a2enconf php5-fpm ERROR: Conf php5-fpm does not exist!
      猜你喜欢
      • 2012-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-07
      • 2021-06-17
      • 1970-01-01
      • 1970-01-01
      • 2020-02-08
      相关资源
      最近更新 更多