标签: php-fpm

a2enmod proxy_fcgi setenvif 有何作用?

我和我的同事最近花了很长时间试图弄清楚为什么 PHP 7 在浏览器中显示为纯文本而不是运行。我们发现了一个包含这些命令的 StackOverflow 已投票答案。

sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php7.0-fpm
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)

它解决了问题,但不幸的是答案没有包含这些命令的作用的解释。我们理解sudo service apache2 restart但不理解前两行。我在网上搜索,但只找到了此代码的更多实例,但没有真正解释它是如何工作的或为什么需要它。

这些命令有什么作用以及何时需要?

php command-line apache2 php-fpm

7
推荐指数
1
解决办法
7168
查看次数

在 Ubuntu 14.04 上使用 php-fpm + nginx 时无法获取错误堆栈跟踪或错误日志

我在 Ubuntu 14.04 机器上使用 php-fpm 5.5.9 和 nginx 1.4.6。我已经使用 apt-get 包管理器安装了它们。我无法获取我的 index.php 脚本在错误日志中以及浏览器上遇到的错误的堆栈跟踪。我从 stackoverflow 和其他文章中搜索并实现了几个解决方案,但没有一个对我有用。这是我的 nginx conf 和 php-fpm conf 文件。如果我犯了任何愚蠢的错误,请帮助我。

Nginx 配置:

location ~ \.php$ {
        # With php5-fpm:
                #try_files $uri =404;
        include fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_intercept_errors on;
        fastcgi_read_timeout 600;
        fastcgi_send_timeout 600;
        proxy_connect_timeout  600;
        proxy_send_timeout  600s;
        proxy_read_timeout  600s;
        fastcgi_pass 127.0.0.1:7777;
        fastcgi_index index.php;
    }
Run Code Online (Sandbox Code Playgroud)

PHP-FPM 配置:

error_log = /tmp/php5-fpm.log
Run Code Online (Sandbox Code Playgroud)

PHP-FPM池配置:

catch_workers_output = yes 
slowlog = /var/log/php-fpm/$pool.log.slow
listen = 127.0.0.1:7777

php_flag[display_errors] = On 
php_admin_value[error_log] = /tmp/fpm-php.www.log 
php_admin_flag[log_errors] = On
Run Code Online (Sandbox Code Playgroud)

提前致谢。

php nginx 14.04 php-fpm

5
推荐指数
2
解决办法
3万
查看次数

sudo dpkg --configure -a 永远

我正在尝试使用sudo apt-get install php-fpm. 当我执行该命令时,它给出了错误:E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.

当我输入时,sudo dpkg --configure -a它显示: Setting up mariadb-server-10.1 (1:10.1.44-0ubuntu0.18.04.1) ...,并且需要永远。我尝试过重新启动,但这并没有多大作用。

我需要安装 php-fpm (和其他),所以我不太确定要做什么。

我读过这些帖子:并按照他们所说的做了,但无济于事

sudo dpkg --configure -a

sudo dpkg --configure -a 需要永远

sudo dpkg --configure -a 错误

php apt php-fpm

5
推荐指数
1
解决办法
2470
查看次数

如何在 Ubuntu 20.10 上将 Apache HTTP 配置为 PHP-FPM

我按照此处的指示将服务器 API 条目切换为 FPM/FastCGI.from Server API Apache 2.0 Handler。当启用 mpm_event 且 a2dismod php7.4 时,phpinfo.php 仅显示:

<?php phpinfo(); ?>
Run Code Online (Sandbox Code Playgroud)

阿帕奇状态:

Apache Server Status for localhost (via 127.0.0.1)

   Server Version: Apache/2.4.46 (Ubuntu) mod_fcgid/2.3.9 OpenSSL/1.1.1f

   Server MPM: event

   Server Built: 2020-11-13T01:36:38

     ----------------------------------------------------------------------

   Current Time: Saturday, 27-Feb-2021 13:08:50 EST

   Restart Time: Saturday, 27-Feb-2021 13:05:50 EST

   Parent Server Config. Generation: 1

   Parent Server MPM Generation: 0

   Server uptime: 3 minutes

   Server load: 0.80 0.95 1.07

   Total accesses: 14 - Total Traffic: 190 kB …
Run Code Online (Sandbox Code Playgroud)

apache2 php7 php-fpm

4
推荐指数
1
解决办法
1万
查看次数

CPU 使用率:top 和 mpstat 显示不同的结果

topmpstat显示出不同的结果。

top:

%Cpu(s): 10.9 us,  3.1 sy,  0.0 ni, 85.2 id,  0.2 wa,  0.0 hi,  0.7 si,  0.0 st

31426 www-data  20   0  309088  21276  14600 S  22.3  0.1   0:07.36 php-fpm: pool www
31431 www-data  20   0  308980  21232  14568 S  22.3  0.1   0:01.69 php-fpm: pool www
31423 www-data  20   0  308992  21376  14664 S  21.6  0.1   0:08.38 php-fpm: pool www
31437 www-data  20   0  308988  21224  14568 R  20.9  0.1   0:00.66 php-fpm: pool www
Run Code Online (Sandbox Code Playgroud)

和 …

server nginx php-fpm

3
推荐指数
1
解决办法
8881
查看次数

PHP FPM 工作,但忽略 SetHandler 的版本

我们的服务器是 Ubuntu 18.04.5 LTS (GNU/Linux 4.15.0-135-generic x86_64)。

我们按照https://tecadmin.net/install-multiple-php-version-apache-ubuntu/的指示,在 7.2 是新版本时恢复了 PHP 5.6 和 7.2,并升级并添加了 7.3 和 7.4直到今天早上都没有问题。昨天还运行得很好,但今天就不行了。我们昨天早些时候打包了更新,但它不需要重新启动,并且不相信它会在一夜之间自行重新启动,正如我们uptime所说的那样,我们已经接近 15 天了。

所以今天我们再次开始执行这个过程并完成了这个,在每一步之后重新启动 apache2:

尝试过:

a2enmod actions fcgid alias proxy_fcgi
Run Code Online (Sandbox Code Playgroud)

并得到:

ERROR: Module fcgid does not exist!
Run Code Online (Sandbox Code Playgroud)

确实apt install apache2 libapache2-mod-fcgid有效添加了软件包。

做了a2enmod actions fcgid alias proxy_fcgi,它说一切都已启用

检查了conf文件/etc/apache2/sites-enabled

<FilesMatch \.php$>
    SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost"
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)

尝试phpinfo()页面并得到 PHP 7.4.15,而不是预期的 5.6.40。我们对 7.3 做了同样的事情,并且phpinfo()使用 php7.3 的 SetHandler 也得到了相同的 7.4。

然后尝试systemctl status …

php apache2 php-fpm

3
推荐指数
1
解决办法
8482
查看次数

标签 统计

php-fpm ×6

php ×4

apache2 ×3

nginx ×2

14.04 ×1

apt ×1

command-line ×1

php7 ×1

server ×1