AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[php-fpm](server)

Martin Hope
Andrew Newby
Asked: 2023-09-18 18:02:34 +0800 CST

设置 monit 来跟踪 php-fmp 站点的 .sock 文件

  • 7

我正在尝试设置 Monit,以便它可以跟踪域,以防 PHP 崩溃。例子:

check file php7.3-fpm-pidfile with path /var/run/php/php7.3-fpm.pid
    start program = "/usr/sbin/service php7.3-fpm start" with timeout 60 seconds
    stop program  = "/usr/sbin/service php7.3-fpm stop"
    if does not exist then restart
    if failed unixsocket /run/php/php7.3-fpm-domain.co.uk.sock then restart
    if failed unixsocket /run/php/php7.3-fpm-domain2.co.uk.sock then restart
    if failed unixsocket /run/php/php7.3-fpm-domain3.co.uk.sock then restart

作为一个简单的测试:

check file php7.3-fpm-pidfile with path /var/run/php/php7.3-fpm.pid
    start program = "/usr/sbin/service php7.3-fpm start" with timeout 60 seconds
    stop program  = "/usr/sbin/service php7.3-fpm stop"
    if does not exist then restart
    if failed unixsocket /run/php/php7.3-fpm-domain.co.uk.sock then restart

然而,重新启动 Monit 时,最终失败:

/etc/monit/conf-enabled/php-fpm:14: 语法错误 'unixsocket'

我使用的是Monit 5.31.0,它应该足够新才能有这个unixsocket选项。我缺少什么?

php-fpm
  • 1 个回答
  • 24 Views
Martin Hope
Jesse
Asked: 2023-05-31 07:58:49 +0800 CST

PHP-FPM 在 Web 文件夹挂载到 /etc/fstab 之前启动,引发错误

  • 6

我正在云中的 Arch 上运行 LAEMP 反向代理服务器。

我已将nextcloud/data文件夹安装到位于 的附加存储驱动器上/mnt/hdd/nextcloud/data,链接到/srv/www/nextcloud/data。

如果我不这样做,而是与 保留nextcloud/data在同一磁盘上/,那么我根本就不会遇到此问题。

reboot,系统启动;PHP 页面出现错误,但既不显示httpd也不nginx显示任何systemctl status. 错误位于php-fpm.

输出systemctl status php-fpm:

× php-fpm.service - The PHP FastCGI Process Manager
     Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; preset: disabled)
    Drop-In: /etc/systemd/system/php-fpm.service.d
             └─override.conf
     Active: failed (Result: exit-code) since Tue 2023-05-30 16:47:30 PDT; 14s ago
    Process: 316 ExecStart=/usr/bin/php-fpm --nodaemonize --fpm-config /etc/php/php-fpm.conf (code=exited, status=226/NAMESPACE)
   Main PID: 316 (code=exited, status=226/NAMESPACE)
        CPU: 8ms

May 30 16:47:29 MY_HOST systemd[1]: Starting The PHP FastCGI Process Manager...
May 30 16:47:29 MY_HOST (php-fpm)[316]: php-fpm.service: Failed to set up mount namespacing: /run/systemd/unit-root/mnt/hdd/nextcloud/data: No such file or directory
May 30 16:47:29 MY_HOST (php-fpm)[316]: php-fpm.service: Failed at step NAMESPACE spawning /usr/bin/php-fpm: No such file or directory
May 30 16:47:30 MY_HOST systemd[1]: php-fpm.service: Main process exited, code=exited, status=226/NAMESPACE
May 30 16:47:30 MY_HOST systemd[1]: php-fpm.service: Failed with result 'exit-code'.
May 30 16:47:30 MY_HOST systemd[1]: Failed to start The PHP FastCGI Process Manager.

Nextcloud 正在从systemddrop-in获取此信息/etc/systemd/system/php-fpm.service.d/override.conf:

[Service]
...
ReadWritePaths=/srv/www/nextcloud/data

当我运行时systemctl restart php-fpm,错误将永远消失,直到下次重新启动。

我认为该php-fpm服务无法找到该nextcloud文件夹​​,因为启动hdd/时未安装php-fpm并且想要查看其 Web 文件夹。我认为我应该以某种方式调整php-fpm和/或(最好)将/etc/fstab附加存储驱动器加载到时的运行级别/mnt/hdd。

/etc/fstab/mnt/hdd使用以下语句安装驱动器:

/dev/vdc1               /mnt/hdd       ext4    defaults,noatime,nofail 0 0

我在互联网上搜索的任何内容都没有告诉我如何解决这个问题。搜索结果中的所有内容都显示与php-fpm或无关的内容/etc/fstab。即使那样,我最多也能得到一些脚本小子的答案。

我想知道vdc1在运行时更早挂载的正确方法,或者至少php-fpm等到目录可用后再抛出异常。

php-fpm
  • 1 个回答
  • 96 Views
Martin Hope
Jean
Asked: 2023-04-17 19:42:17 +0800 CST

ModSecurity:PCRE 限制设置没有任何影响

  • 5

Rule execution error - PCRE limits exceeded (-8): (null).当我要求 ModSecurity 分析身体数据(使用SecRequestBodyAccess On指令)时,我遇到了错误。

我已经阅读了有关该问题的信息,并且尝试在 Apache2 和 php-fpm 上增加限制:

/etc/apache2/apache2.conf

SecPcreMatchLimit 5000000
SecPcreMatchLimitRecursion 5000000

/etc/php/8.0/fpm/php.ini

[Pcre]
pcre.backtrack_limit = 1000000000
pcre.recursion_limit = 1000000000

我使用 systemctl 重新启动了 Apache2 和 PHP-FPM 服务,但我仍然点击了PCRE limits exceeded. 这两个配置似乎没有加载。

如何确保配置已加载?

php-fpm
  • 1 个回答
  • 17 Views
Martin Hope
Arth
Asked: 2023-01-31 05:15:50 +0800 CST

PHP-FPM 错误:[/etc/php-fpm.d/www.conf:xxx] 未知条目 'process_control_timeout'

  • 5

process_control_timeout我有一个包含 Amazon Linux 2、Apache 2.4 和适用于 PHP 8.1 的 PHP-FPM 的 LAMP 堆栈,我正在尝试在我的 PHP-FPM 配置中设置值

我添加process_control_timeout=50s到文件的底部/etc/php-fpm.d/www.conf但是在重新加载 PHP-FPM 时失败并且状态包含错误

ERROR: [/etc/php-fpm.d/www.conf:xxx] unknown entry 'process_control_timeout'

根据PHP-FPM 文档,process_control_timeout是一个有效选项,并且提到的配置文件/etc/php-fpm.conf包括/etc/php-fpm.d/www.conf

如何正确设置此值?

php-fpm
  • 1 个回答
  • 13 Views
Martin Hope
Frank Martin
Asked: 2022-08-18 02:54:08 +0800 CST

如何在 Oracle Linux 上安装 php-mysql、php-gd 等库

  • 1

我正在尝试在 Oracle Linux 8 上安装以下库但无法正常工作。在安装 php8.1-fpm 后的 Debian 11 上,我运行以下命令并且它可以工作。

sudo apt install php8.1-mysql php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip php8.1-curl php8.1-imagick php8.1-soap

在 Oracle Linux 上,我尝试过以下操作,但没有成功。安装的 PHP FPM 版本是 7.2.24

sudo yum install php-mysql

sudo yum install php7.2-mysql

sudo yum install php7.2.24-mysql

所有这些命令都失败了Error: Unable to find a match:

如何安装这些库?

php-fpm
  • 0 个回答
  • 287 Views
Martin Hope
cplater
Asked: 2022-02-21 08:21:52 +0800 CST

什么会阻止 php-fpm (8.0.16) 能够写入 NFS 挂载的文件系统?

  • 0

我有一个无法将文件写入 NFS 共享的 php-fpm (8.0.16) 实例。我正在使用一个简单的 php 脚本进行测试:

<?php

ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL);

$fp = fopen('test.txt', 'a');

fwrite($fp, 'test'); 

通过 php-fpm 运行时,在作为 NFS 共享的目录中,收到以下错误:

警告:fopen(test.txt):无法打开流:/path/to/nfs/share/test-write.php 中的只读文件系统

但是,以下代码:

<?php

ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL);

$fp = fopen('/tmp/test.txt', 'a');

fwrite($fp, 'test');

按预期工作。

该脚本在从命令行以用于在 NFS 共享目录和 /tmp 中运行 php-fpm 的同一用户运行时工作。此外,该脚本通过 php-fpm 在早期版本的 php 上按预期工作。

nfs php php-fpm
  • 1 个回答
  • 252 Views
Martin Hope
freento
Asked: 2022-01-20 14:35:37 +0800 CST

以 root 身份重新启动 PHP FPM - 重新启动“php7.4-fpm.service”需要身份验证

  • 0

我有一个 www-data 用户,我允许他在 /etc/sudoers 中重新启动 PHP FPM:

www-data ALL=(ALL) NOPASSWD:/usr/sbin/service php7.4-fpm restart

/etc/sudoers 有正确的权限

ls -la /etc/sudoers
-r--r----- 1 root root 915 Jan 19 23:26 /etc/sudoers

但我仍然无法从 www-data 帐户重新启动 FPM

/usr/sbin/service php7.4-fpm restart
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to restart 'php7.4-fpm.service'.
Authenticating as: root
Password:

当我尝试输入密码时,我收到了不同的错误

polkit-agent-helper-1: pam_authenticate failed: Authentication failure
==== AUTHENTICATION FAILED ===
Failed to restart php7.4-fpm.service: Access denied

有什么问题?

ubuntu php debian php-fpm
  • 1 个回答
  • 817 Views
Martin Hope
parsa
Asked: 2021-12-01 02:29:16 +0800 CST

一些更改后 php-fpm 无法启动

  • 0


我在centos 7上使用带有apache的php-fpm 7.3。
我之前在我的服务器上安装了带有directamin控制面板的php和apache。 我将以下配置添加到目录
中 php fpm 的全局部分。/usr/local/php73/etc/php-fpm.conf

emergency_restart_threshold 10
emergency_restart_interval 1m
process_control_timeout 10s

在我将上述这些配置添加到 后php-fpm,它不会启动。问题是什么?

apache-2.2 php-fpm
  • 1 个回答
  • 121 Views
Martin Hope
JeremyCanfield
Asked: 2021-11-22 02:38:23 +0800 CST

HAProxy 下载 PHP 文件而不是在浏览器中显示

  • 0

我在 Docker 上运行 nginx 和 php-fpm。当使用我的 Docker 系统的主机名 (docker1.freekb.net) 时,phpinfo.php 页面会显示在浏览器中,因此我知道我已经正确配置了 nginx 和 php-fpm 以提供 PHP 页面。这是 /etc/nginx/conf.d/default.conf 中的服务器块。来自 nginx 的 80 端口的请求被转发到 PHP 的 9000 端口。

server {
    listen              80;
    server_name         stage.freekb.net;
    root                /var/www/stage;
    index               index.html phpinfo.php;
    location / {
        try_files $uri $uri/ /index.html;
    }
    location ~ \.php$ {
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass 0.0.0.0:9000;
        fastcgi_index phpinfo.php;
        include fastcgi_params;
    }
}

我有 HAProxy 设置以将请求转发到 nginx。这是我在 /etc/haproxy/haproxy.cfg 中的监听块。当我访问http://haproxy.freekb.net/index.html时,会显示 nginx 欢迎页面,因此我知道 HAProxy 能够将请求转发到 nginx。

但是,当我访问http://haproxy.freekb.net/phpinfo.php时,phpinfo.php 会下载到我的本地 PC。我怀疑这意味着 fastcgi 有问题。我不确定在使用 HAProxy 时要在浏览器中显示 PHP 页面需要进行哪些更改。

listen nginx
    bind *:80
    mode tcp
    balance roundrobin
    server nginx1 docker1.freekb.net:80 check
fastcgi nginx php-fpm haproxy
  • 1 个回答
  • 86 Views
Martin Hope
AtomX
Asked: 2021-10-30 23:35:35 +0800 CST

Nginx Web Server /run/php/php8.0-fpm.sock 找不到php8.0-fpm.sock

  • 1

我目前正在我的 Nginx Web 服务器中监听 TCP 套接字,但由于某些原因,我想监听我的 UNIX 域套接字。问题是我无法php8.0-fpm.sock在/var/run/php/php8.0-fpm.sock和/run/php/php8.0-fpm.sock路径中找到。当我运行时ls /run/php,它只显示php8.0-fpm.pid。

systemctl status php8.0-fpm确认它已正确安装并运行:

php8.0-fpm.service - The PHP 8.0 FastCGI Process Manager

     Loaded: loaded (/lib/systemd/system/php8.0-fpm.service; enabled; vendor pr /php8.0-fpm.service; enabled; vendor preset: enabled)

     Active: active (running) since Sat 2021-10-30 03:03:54 EDT; 20min ago

       Docs: man:php-fpm8.0(8)

    Process: 282214 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/8.0/fpm/pool.d/www.conf 80 (code=exited, status=0/SUCCESS)

   Main PID: 282200 (php-fpm8.0)

     Status: "Processes active: 0, idle: 2, Requests: 7, slow: 0, Traffic: 0req/sec"

      Tasks: 3 (limit: 4621)

     Memory: 67.5M

     CGroup: /system.slice/php8.0-fpm.service
             ├─282200 php-fpm: master process (/etc/php/8.0/fpm/php-fpm.conf)

             ├─282212 php-fpm: pool www

             └─282213 php-fpm: pool www

Oct 30 03:03:54 127.0.0.1localhost systemd[1]: Starting The PHP 8.0 FastCGI Promd[1]: Starting The PHP 8.0 FastCGI Process Manager...

Oct 30 03:03:54 127.0.0.1localhost systemd[1]: Started The PHP 8.0 FastCGI Procmd[1]: Started The PHP 8.0 FastCGI Process Manager.
nginx php-fpm unix-sockets
  • 1 个回答
  • 5005 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve