问题标签 [fpm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1485 浏览

php - 为什么我的 PHP7.0-FPM 池没有使用它指定的系统用户运行?

我经常做这个设置,但这次我肯定在监督一些事情。

目标

让 Apache 2.4 虚拟主机使用不同的 PHP-FPM 池,每个虚拟主机在 LXD 容器中使用自己的系统用户。

问题

一切正常,除了上传文件时,必须在 www-data 上设置上传目录,这在 PHP-FPM 中不需要。

系统

Ubuntu 16.04 LXD 容器

代码

/etc/apache2/conf-enabled/php7.0-fpm.conf

/etc/apache2/sites-enabled/hs2.nl.conf

/etc/php/7.0/fpm/pool.d/hs2.nl.conf

目录权限

以各自用户身份运行的进程

phpinfo

输出

进一步的想法

我认为这可能与 LXD 有关,但似乎所有池都在自己的用户下运行。

编辑:为了消除这个理论,我已经将相同的配置加载到普通的 KVM 虚拟机上,在那里我能够以完全相同的方式重现问题,所以我的配置一定是做错了什么,这与LXD。

0 投票
0 回答
280 浏览

php - PHP CGI 和 FPM,它们是什么?

我想问你(作为一个新手)这两个家伙是什么。我发现它们是在服务器上运行的 PHP 模式,对吗?还有什么?每个主题似乎都是这样,更快更好,但我想知道它们首先是什么......

0 投票
1 回答
338 浏览

php - 在 PHP 池配置文件中读取 Linux 环境变量

我设置了一个名为DISPLAY_ERRORSvalue的环境变量on

我正在尝试在 中使用此环境变量php-fpm.d/www.conf,但是我无法找出正确的语法。这是我尝试过的:

1:

2:

3:

4:

以上似乎都不起作用。在所有情况下,我都会收到以下错误:

注意- 我知道“on”不是布尔值,但是php_flag[display_errors] = on工作正常,所以我假设问题在于我如何尝试获取变量的值。

0 投票
1 回答
2111 浏览

php - PHP 监听 unix 套接字

所以简而言之,我试图让一个 PHP 脚本通过 unix 套接字侦听请求,并向它发送来自另一个 PHP 脚本的请求。我已将 PHP-FPM 配置为:

还有另一个 PHP-FPM 配置文件有效地监听/var/run/php-fpm-b.sock并且 Nginx 指向它(这个位工作正常),它包含以下代码/usr/local/www/b/index.php

显然我在 /usr/local/www/b/index.php 中有问题,因为我得到的只是“TEST B”作为输出。我不认为这是一个套接字权限问题,因为它会这样说明一个错误,我的猜测是$out错误的,但不知道 PHP 除了接收什么。任何帮助,将不胜感激。

注意:在 FreeBSD11 上使用 PHP7

0 投票
1 回答
3184 浏览

php - 如何为 php5-fpm / NGINX 启用 PHP IMAP?

我们有一个 NGINX 服务器在 Ubuntu 14.04.2 LTS 上运行,带有 php5-fpm。

我正在尝试安装的应用程序OEMPRO)说:

PHP IMAP 扩展被禁用。请启用它。

如何启用 PHP IMAP?

我检查了我们的phpinfo,似乎 IMAP 以某种方式存在,您可以在此处查看我们的 phpinfo的屏幕截图。

mods-available/虽然,我在目录中找不到 IMAP 。

我需要启用它/etc/php5/fpm/php.ini吗?


更新

我尝试安装 IMAP,但无法解决问题。OEMPRO 仍然说 IMAP 已禁用。

我的phpinfo保持不变,但我现在可以imap.inimods-available/.

0 投票
1 回答
1113 浏览

php - 在 ubuntu 16.04 上使用 nginx 的 php5.6-fpm 没有接收到数据

我刚刚安装了 ubuntu 16.04 和 php5.6-fpm 和 nginx。nginx服务器块如下:

现在,当我使用 localhost 时,它什么也没显示。未收到数据。响应代码 200。

如果我尝试访问任何静态文件。它工作正常。例如:localhost/xyz.png 将显示图像。但是尝试运行 php 脚本时没有收到任何数据。脚本文件是否存在并不重要。对 php 脚本的响应是恒定的。即没有数据,但 200 ok 响应。

请帮帮我。提前致谢。

0 投票
0 回答
419 浏览

php - 经常性错误 502 Bad gateway Nginx Php5-fpm

一段时间以来,我们的网站经常因错误“502 Bad Gateway”而崩溃。服务器使用 Nginx / Php5-Fpm。

在崩溃期间,“service php5-fpm restart”可以重新启动站点。

我们有一个网络服务,可能与这些崩溃有关。我们不确定这项服务是否存在问题,尤其是为什么会出现这种现象。

以下是我们发生崩溃时的日志示例:

php5-fpm.log

据研究,我见过这个

我曾尝试更改设置,实际上,该站点似乎不再崩溃,但有时我们的服务器会无缘无故地将其所有 CPU 置于 100%,然后一切恢复正常。

这些设置真的可以解决我们的担忧吗?如果是这样,我们如何配置它以在 100% CPU 时不再有这些峰值?

先感谢您。亲切地。

文森特·莱维克

0 投票
3 回答
631 浏览

php - PHP文件未找到,应根据配置的vHost找到

我正在尝试使用 Docker 设置 Symfony 3.x 应用程序。我通过一个 docker-compose.yml 文件配置了 3 个 docker 容器:

  • Nginx
  • php-fpm
  • MySQL

当我导航到 my-project.dev:8080/ 时,我看到一个简单的 404-Not found-page。

  • 我无法加载 my-project.dev:8080/app_dev.php 或 my-project.dev:8080/config.php(我收到“找不到文件”错误)

我也没有在 /var/log/nginx/access.log 中看到任何条目。

码头工人-compose.yml:

nginx.conf 文件:

vhost.conf 文件:

0 投票
3 回答
395 浏览

php - php exec SVN 空输出,在同一用户下的终端中工作正常

我在 PHP 中更新 SVN 时遇到问题。它工作正常,然后几天前突然停止工作。

我正在通过 Nginx 运行 PHP-FPM 5.5。SVN 版本是 1.8.8。

编码:

输出:

当我在终端中运行它时(在与 PHP-FPM 和 Nginx 相同的用户下),我得到了预期的输出:

PHP CLI 也适用于正确的输出(在与 PHP-FPM 和 Nginx 相同的用户下):

基于此,它似乎是 PHP5-FPMexecsvn. 但是我怎样才能调试它并找出问题所在呢?

谢谢。

更新评论以使所有内容保持在一起: 尝试了 proc_open 方法,通过该方法仅运行“svn cleanup $path”失败并导致所有文件锁定。在终端的同一用户下运行相同的命令工作正常并再次解锁所有文件。

尝试了svn bin的完整路径,没有区别

运行“svn info $path”似乎工作正常,没有文件被锁定。以下命令在 php exec/proc_open 中都失败(没有任何错误消息或输出)并锁定应用程序文件:

  • svn清理$路径
  • svn 恢复 $path -R

"svn update $path" 返回 "Updating '$path'" 但停在那里,之前当前的内部版本号将在第二行返回。

我有第二个设置,使用不同的应用程序和 svn 服务器,但运行相同版本的操作系统和所有软件,这个运行正常。我认为这排除了软件。

我尝试将问题服务器回滚到 2 个月前运行时的版本,服务器在启动时会自动更新软件和应用程序,但不应该触及配置文件或缓存。在它可用后,它仍然显示相同的问题。相当肯定排除软件配置文件/缓存。

这仅留下了应用程序代码库和 svn 服务器作为可能的原因。接下来我将尝试重置 svn 服务器并重做 svn 项目。

更新 2: 在 SVN 服务器上重新创建项目,从应用服务器和所有 svn 配置目录中删除应用程序,从 SVN 服务器签出新项目(构建 1)。还是同样的错误。!_!

更新 3: 在完成上述所有操作后,我得出的结论是只留下了可能导致问题的文件库。事实上,由于文件名中有一些带有特殊字符的文件,SVN 会抛出“无法将字符串从本机编码转换为 'UTF-8':”错误。有趣的是,该错误仅在从 php-fpm 而不是在终端中运行时停止了进程。不知道为什么。我添加了 export LC_CTYPE=en_US.UTF-8; 到 exec 命令,现在它工作正常。

0 投票
1 回答
964 浏览

php - PHP-FPM 为每个请求启动一个新进程是否正确?

我有一个使用 打印出 PID 的单行 PHP 脚本getmypid(),每次通过 FPM 调用脚本时,PID 都会发生变化,但我希望 pid 是相同的。我认为 FPM 的全部意义在于不会每次都产生一个新进程,从而使事情变得更快?