标签: php-fpm

我们是否需要明确地将 php.ini 的位置传递给 php-fpm?

我看到一个奇怪的问题,php.ini如果我php-fpm在启动它时没有明确地将它传递给它,则不会使用它。

这是我正在使用的新贵脚本:

start on (filesystem and net-device-up IFACE=lo)
stop on runlevel [016]

pre-start script
    mkdir -p /run/php
end script


expect fork
respawn
exec /usr/local/php/sbin/php-fpm --fpm-config /etc/php/php-fpm.conf
Run Code Online (Sandbox Code Playgroud)

如果 PHP 以上述开头,php.ini则永远不会使用my ,即使它在Configuration File (php.ini) Path.

这是来自phpinfo()以下内容的相关部分:

Configuration File (php.ini) Path           /etc/php/
Loaded Configuration File                   (none)
Scan this dir for additional .ini files     (none)
Additional .ini files parsed                (none) 
Run Code Online (Sandbox Code Playgroud)

如果我修改 upstart 脚本的最后一行php-fpmphp.ini明确指向:

exec /usr/local/php/sbin/php-fpm --fpm-config /etc/php/php-fpm.conf -c /etc/php/php.ini
Run Code Online (Sandbox Code Playgroud)

然后我们看到 …

php.ini php-fpm upstart

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

nginx + php-fpm:如何为应用程序指定内存限制

使用 apache+php_mod 就像放置一样简单:

php_value      memory_limit        128M
Run Code Online (Sandbox Code Playgroud)

进入应用程序虚拟主机。

我怎样才能为 nginx+php-fpm 做这样的事情?

nginx php-fpm

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

哪个php5-fpm设置用于高并发连接数+ nginx

请帮我调整我的 php5-fpm 和 nginx 配置。

问题是我的 php5-fpm 日志不断报告缓慢的脚本并杀死一个子线程。

专用服务器,四核至强,32Gb 内存。1 个 php 应用程序/站点正在运行。

Php 应用程序:坚果壳,搜索引擎,结果触发 curl 请求。每次搜索页面加载时间通常为 2 - 3 秒。

这是我认为正在发生的事情:

我有 750 个并发 php 用户在执行搜索。pm.max_children = 400由于 RAM 限制,我只能设置。我假设每个用户(子线程)有 50Mb,所以 = 20GB。我假设每个用户 = 1 个子线程。因此,pm.max_children这不足以涵盖 750 个需要 3 秒进行搜索的活跃 php 用户。

所以我想我看到用户排队是因为我看到 3 秒变成了 4 - 7 秒。当用户排队时,我认为脚本越来越慢会触发错误日志消息,而 php5-fpm pm 会杀死孩子吗?

这就是我认为正在发生的事情。我在下面提供了我的错误日志输出、nginx、php5-fpm 配置。

如果我可以调整我的配置,并且确实pm.max_children应该至少等于您的最大并发用户数,我真的很感激任何建议,请记住,我的 php 搜索打开了大约 3 秒。我需要更多的内存还是额外的服务器?

这是我的记忆,但我在大约 30 分钟前才重新启动了 nginx

:/var/log# free -m
             total       used       free     shared    buffers     cached …
Run Code Online (Sandbox Code Playgroud)

nginx php-fpm

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

池 www 在信号 15 (SIGTERM) 上退出:执行超时

我在 1GB 单核 VPS 上运行带有 Nginx 1.5.1 和 PHP-FPM (PHP 5.3.26) 的 Drupal 6,在 SSD 存储上有 3GB 的交换空间。我刚刚从共享主机切换到这个非托管 VPS,因为我的网站变得太重了,所以我仍在学习绳索。我有中等高的流量,我并没有真正密切监控它,但 Google Adsense 通常每天记录接近 30K 的页面浏览量。我通常有 50 到 80 个经过身份验证的用户登录,还有几百个匿名用户在任何给定时刻访问 Boost 静态 HTML 缓存。我最多配置了 10 个 PHP-FPM 子进程。我正在使用“按需”PHP-FPM 流程管理器。

我偶尔会遇到一个很难调试的错误,因为它似乎是随机的。在用户有意发布的大约 30 个帖子中,其中 1 个被复制。我是这样配置的,第一次点击后post按钮就被禁用了,所以不是双击的结果。事实上,当我发帖时,它甚至发生在我身上。双柱会在几秒钟内发生。我检查了日志文件,重复的帖子似乎总是对应于 nginx POST 错误:recv() failed (104: Connection reset by peer) while reading response header from upstream。而这个事件似乎与 index.php 的执行超时错误和 PHP-FPM 工作进程的后续 SIGTERM 的 PHP-FPM 错误有关。

以下是nginx访问和错误日​​志以及 PHP-FPM 错误日志:

nginx_acess.log 文件:

1.2.3.4 - - [02/Jul/2013:12:34:34 -0500] "POST …
Run Code Online (Sandbox Code Playgroud)

nginx timeout php-fpm

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

使用 php-fpm 的 nginx 下载 php 文件而不是在 mac os x(本地环境)上执行它们

我无法在本地开发机器上执行 PHP 文件。我似乎已经成功安装了nginx并且php-fpm似乎也已正确安装,并且正在运行,但无法弄清楚为什么 PHP 文件被下载而不是被执行。

在经历了很多很多小时的挫折之后,我认为最好问问以前可能做过这件事的人!我已尽力提供所有信息,但如果有任何可能有用或我遗漏的信息,请随时在评论中提问

请注意:请仔细阅读我遇到的问题。我之所以这么说是因为我已经通读了几乎所有与 Google 可以提供给我的与此问题相关的文章,并尝试了几种不同的方法、修复、建议、重新安装、配置等。但每个人都无法提供帮助修复甚至调试我遇到的问题。换句话说,这绝对不是一个重复的问题。我花了几个小时阅读以确保!

我已经成功安装了nginxphp-fpm使用https://github.com/josegonzalez/homebrew-php. 好的 ol' trustybrew doctor确认一切都是最新的,我已经安装了所有必要的东西(XQuartz、Xcode 命令行工具等)。

以下是一些在尝试理解我的设置时可能有用的文件摘录:

php-fpm 日志

tail -f /usr/local/var/log/php-fpm.log

[24-Dec-2013 00:05:59] NOTICE: [pool www] 'user' directive is ignored when FPM is not running as root
[24-Dec-2013 00:05:59] NOTICE: [pool www] 'group' directive is ignored when FPM is not running as root
[24-Dec-2013 00:05:59] NOTICE: fpm is running, pid 31745 …
Run Code Online (Sandbox Code Playgroud)

php nginx mac-osx php-fpm

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

PHP 升级总是破坏会话文件夹权限

每次我在 CentOS 机器上升级 php(通过 yum upgrade)时,我的 /var/lib/session 文件夹所有权都会变成具有 600 权限的 root:apache。我使用 nginx 作为我的网络服务器。这会破坏我的网站并阻止存储会话。

修复方法只是将文件夹 chown nginx:nginx 。但是每次 yum 更新 php 时我都必须手动执行此操作。

我想问题源于这样一个事实,即当我最初设置盒子时,我运行了 apache。我在哪里可以将此配置更改为“nginx”以解决此问题?我查看了 php.ini,但在那里看不到任何相关内容。会话目录已指定,但与用户无关。

php permissions yum php-fpm

6
推荐指数
1
解决办法
2705
查看次数

SPDY & Nginx 上传问题

我有这个设置:一个带有 php-fpm 和http://blueimp.github.io/jQuery-File-Upload/的 Nginx 服务器

当我尝试在大约 10MB 后上传文件时失败。激活 SPDY 时会发生这种情况。当 SPDY 关闭时,上传工作正常。

有没有人知道这个问题的解决方法/修复?

php nginx php-fpm spdy

6
推荐指数
1
解决办法
289
查看次数

是否可以在每个位置的基础上延长 nginx 中的 504 超时

是否可以在位置块中设置超时指令以防止 nginx 从长时间运行的 PHP 脚本 (PHP-FPM) 返回 504?

server
{
  listen 80;
  server_name ubuntu-vm.test-api;
  root /home/me/Sites/path/to/site/; 
  index index.php;

  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }

  location ~ \.php$ {


    try_files $uri =404;

    # Fix for server variables that behave differently under nginx/php-fpm than typically expected
    fastcgi_split_path_info ^(.+\.php)(/.+)$;

    # Include the standard fastcgi_params file included with nginx
    include fastcgi_params;
    fastcgi_param  PATH_INFO        $fastcgi_path_info;
    fastcgi_index index.php;

    # Override the SCRIPT_FILENAME variable set by fastcgi_params
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

    # Pass to upstream PHP-FPM; …
Run Code Online (Sandbox Code Playgroud)

nginx php-fpm ubuntu-14.04

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

Munin 动态图形缩放(dynazoom)不起作用(Nginx、PHP-FPM)

Debian 7.5 Nginx/1.6.0 PHP 5.6.0RC2 (fpm-fcgi) (build: Jul 11​​ 2014 08:17:52) Munin v2.0.21-2

我在网上搜索了几天来寻找我的问题的答案,但似乎没有人知道该怎么做。我让 Munin 启动并运行,但 Munin 动态图形缩放 (dynazoom) 不起作用,这似乎是 cgi 的问题我已经使用 spawnfcgi 用 lighttpd 和 apache 测试了 Munin,一切正常,但不能使用 php5-fpm。缩放屏幕上的图形显示但没有 php5-fpm 它只是显示一个损坏的图像链接就像这个图像http://serversupportforum.de/forum/attachments/monitoring/4901d1373968950-munin-dynazoom-funktioniert-nicht-1592281191 .png "穆宁动态图缩放(dynazoom)"

现在很多人都在使用 Nginx 和 php-fpm,所以我认为这对很多人都有很大帮助。例如:https : //stackoverflow.com/questions/18645812/munin-dynamic-graph-zoom-dynazoom-not-working-centos6-nginx-php-fpm

这是我的 nginx 配置文件:

user www-data;
worker_processes 4;
pid /run/nginx.pid;

events {
    worker_connections 768;
    # multi_accept on;
}

http {

    ##
    # Basic Settings
    ##

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;
    # server_tokens off;

    # …
Run Code Online (Sandbox Code Playgroud)

debian munin nginx php-fpm

6
推荐指数
1
解决办法
7511
查看次数

在 Ubuntu 服务器上重新启动后,PHP 5 FPM 套接字文件的目录被删除

我创建了一个目录,用于存储PHP 5 FPM套接字文件:sudo mkdir /var/run/php-fpm。它由root:root核心 PHP FPM 流程拥有。

当 PHP FPM 启动时,它会为此目录中的每个池创建套接字文件,nginx 使用它们进行通信。

但是,当我重新启动我的机器 ( sudo reboot) 时,该目录在重新启动后消失了,并且 PHP FPM 无法启动,因为它无法在丢失的目录中创建套接字文件。

可能是什么问题?我该如何调试?

我正在使用最新的 Ubuntu Server 14.04。

ubuntu php nginx php-fpm socket

6
推荐指数
1
解决办法
4517
查看次数

标签 统计

php-fpm ×10

nginx ×8

php ×4

debian ×1

mac-osx ×1

munin ×1

permissions ×1

php.ini ×1

socket ×1

spdy ×1

timeout ×1

ubuntu ×1

ubuntu-14.04 ×1

upstart ×1

yum ×1