问题标签 [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 回答
1572 浏览

php - php7.1-fpm 在并发用户时产生最大子代

在 AWS m4large 实例上运行 php7 并遇到 php7.1-fpm 问题。

它可以很好地提供单个连接,但是一旦我开始运行,即使是最少量的流量 fpm 也会开始产生很多孩子。

我只是提供一个 phpinfo 页面,所以这里没有显着的内存使用。

如果我运行,ab -n 10 -c 10 https://example.com/index.php我会立即在我的 fpm 日志中收到以下消息。

这是我的 fpm 设置

我一直在玩我的最小/最大服务器设置,它是 50 还是 100 都没关系。

有什么帮助吗?什么可能导致这崩溃?

0 投票
1 回答
509 浏览

php - nginx 服务器如何处理 PHP 请求?

谁能解释一下整个过程,我才刚刚开始了解过程。我了解 Apache 服务器如何处理请求。

nginx 服务器如何处理请求,它与 Apache 服务器有何不同?

0 投票
3 回答
2469 浏览

php - PHP:无法将文件移动到不同的文件夹

我正在尝试将使用 PHP 上传的文件移动到另一个文件夹,但不知何故这不起作用,导致:

move_uploaded_file(upload/tmp/phpxEGMLG): failed to open stream: Permission denied

所以,显然我没有适当的权限upload/tmp(实际上是/var/www/html/upload/tmp)。

我已经设置了权限777和所有者root:root/var/www/html/upload/tmp以绝对确定不会有问题。
但这并没有解决它...

我尝试过的其他事情:

  • 将所有者设置为apache:apache
  • 将源文件权限更改为777和所有者root(默认情况下,所有者设置为apache
  • 检查 PHP 设置(几乎是默认设置,/var/www/html并且/tmp在内部open_basedirupload_tmp_dir未设置)+ 日志
  • 检查 Apache 设置 + 日志
  • 在同一个文件夹中移动文件->这可行!
  • 将其移动到其他文件夹--> 不起作用
  • 将所有父目录设置为777和所有者rootapache

我创建了一个测试脚本:

它提供如下输出:

测试文件移动

/var/www/html
根目录
/var/www/html/upload/tmp

数组 ( [type] => 2 [message] => rename(/tmp/tst.txt,tst-2.txt): Permission denied [file] => /var/www/html/test.php [line] = > 13)

这告诉我脚本在哪个用户下运行并且我在正确的目录中。它还省略了额外的检查move_uploaded_file使用,专注于文件的移动。

关于我的设置的一些信息:

  • CentOS 7
  • PHP 7.1
  • PHP-FPM
  • 阿帕奇 2.4.6

它为 PHP-FPM 使用单独的临时目录,例如/tmp/systemd-private-xxxx-php71-php-fpm.service-yyyy/tmp/. 也许有一些原因它不能将文件移到这个目录之外?虽然我找不到任何东西......

我希望有人可以为我提供有关可能发生的事情的线索!

0 投票
1 回答
3998 浏览

php - 在(php-fpm)docker容器中找不到mysqli

我在我的 nginx Web 服务器使用的 docker 容器中运行php:7-fpm。除了我试图在我的 PHP 代码中实例化一个 mysqli 连接之外,一切都运行良好。我收到以下错误:

这是我用于构建映像的 Dockerfile,我在其中显式安装了 mysqli 扩展:

鉴于下面的 phpinfo() 输出,它似乎已安装。我需要以某种方式配置或启用它吗?

在此处输入图像描述

0 投票
0 回答
335 浏览

php - 如何消除 APCu 未命中?

我们使用 APCu 来缓存一些数组,而不是每次都从我们的数据库中获取它们。我知道,有些未命中是正常的,但如下图所示,一半的请求是未命中的。我们在源代码中找不到任何问题。我们将数组存储在缓存中。这是一个问题吗?

你能给我们一些提示来解决这个问题吗?

APCu 缓存信息

0 投票
1 回答
459 浏览

php - 使用 php fpm 和 Socket 连接创建 PHP API

我想创建一个可以用作微服务的 PHP API。它不应该从 Internet 访问,因此连接安全不是问题。优先级是性能。我正在考虑使用简单的 TCP 套接字连接来摆脱 HTTP 开销并建立持久连接。但我也想利用 php-fpm 的长处。这样的事情可能吗?

我可以使用 nginx 作为 tcp 服务器吗?或者我可以直接连接php-fpm吗?

我希望我的意图很明确。提前谢谢。

0 投票
0 回答
105 浏览

php - 如何在 PHP 中正确设置 PATH

我正在尝试PATH在 PHP 中设置环境变量,但遇到了一些意外行为:

结果是

所选的可执行文件也反映了这一点,这些可执行文件来自/usr/bin而不是/usr/local/bin.

我的目标是(显然)更改脚本期间调用的某些可执行文件的路径。但是我不能直接更改我想要更改其路径的可执行文件的路径,因为它是由一些二进制文件间接调用的。我也不能简单地使用该PATH="$PATH"变体而不修补外部库。

因为明显的解决方法不适用,而且我觉得这很好奇,所以我想解释一下为什么会发生这种情况以及如何(或是否)可以以传递给systemexec调用的方式设置 PATH。

该脚本通过 php-fpm 运行,以防此处感兴趣。

0 投票
1 回答
201 浏览

php - php docker容器不加载php文件

我正在使用 nginx、php 和 fpm 在 docker 容器中启动我的 php 应用程序

(见formapro/nginx-php-fpm 图像)

它正确加载app.phplocalhost:8080. 如formapro/nginx-php-fpm文档中所述,app.php默认加载。

但随后我的 php 应用程序尝试执行 POSTformsubmit.php并收到此错误:

事实上,我什至无法http://localhost:8080/app.php在我的应用程序中加载或任何 php 文件。问题是什么?

0 投票
0 回答
2610 浏览

php - nginx + php-fpm 使用套接字说找不到 404 文件

我已经使用通过 FastCGI 访问 PHP 的 nGinx 配置了我的服务器。当我使用端口时它工作正常。一旦我更改为套接字并重新启动服务器,它就会显示“404 Not Found”。

我选择这个设置的原因是出于开发原因,有多个版本的 PHP 来测试我的代码。(并且使用端口,我可以拥有具有不同 PHP 版本的不同 IP 地址。)

(因为涉及的文件太多,这里只放主要的,如果需要查看更多文件,请询问。)

php-fpm.conf:

启用站点/socket-php55:

php-fpm.d/www.conf:

上面的工作,但是如果我删除评论(并评论上面的行),使用套接字,它会失败。请解释为什么在使用套接字时这不会提供(例如 phpinfo)页面。

0 投票
0 回答
1242 浏览

php - 使用 PHP-FPM 运行 MAMP?

我正在使用 MAMP 在 PHP 上进行本地开发。在我的生产服务器上,我正在运行 PHP-FPM,因此我可以使用诸如fastcgi_finish_request();等之类的东西。

出于某种原因,我无法理解如何让 PHP-FPM 在 MAMP 上运行。这甚至可能吗?据我所知,FPM 现在包含在 PHP 中......但是查看文件我看不到任何类型php-fpm.conf或任何相关文件。

在过去的几天里,我看了很多东西,试图弄清楚这一点,我不知道该相信什么了……哈!

我正在运行一个简单的测试info.php

很抱歉问什么可能是一个愚蠢的问题,我只是在这上面花了太多时间。

谢谢!