【问题标题】:Warning: phpmyadmin max_input_vars error警告:phpmyadmin max_input_vars 错误
【发布时间】:2018-04-17 04:38:58
【问题描述】:

phpMyAdmin => NOW

我的 max_input_vars 是 10000,它在浏览器中的 phpinfo 中报告,我正在运行 php-fpm,它被设置为 1800 作为 php-fpm 池中的“覆盖”值作为php_admin_value,但即使所有池都被注释掉并且 php-fpm 和 httpd 重新启动 - 错误仍然存​​在

我正在运行一个真正的非托管 VPS - 不是 GoDaddy 或其他托管公司有限的 VPS

Operating system    CentOS Linux 7.4.1708
Perl version    5.016003
Apache version  2.4.29
PHP versions    5.6.32, 5.6.32, 7.0.25
MySQL version   10.2.9-MariaDB
Kernel and CPU  Linux 2.6.32-042stab120.16 on x86_64
Processor information   Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz, 4 cores
CPU load averages   1.39 (1 min) 0.70 (5 mins) 0.59 (15 mins)
Real memory 11.72 GB total / 5.42 GB used
Local disk space    60 GB total / 35.35 GB free / 24.65 GB used

我什至将它们全部放回 pool.conf 文件中作为 php_admin_value - 10000 并重新启动 php-fpm、mariadb 和 httpd。但它仍然存在,它刚刚开始通过 yum (remi repo) 升级到 phpMyAdmin 4.7.5 和 php 5.6.32

这个值是硬编码的吗?还是我错过了在某个地方更改它??

有人知道我在这里缺少什么吗??

【问题讨论】:

  • 我无法重现,池配置中的“php_admin_value[max_input_vars] = 54321”对我有用。
  • 我在 etc/httpd/conf.d/php.conf 文件中添加了 => SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1 并且错误似乎已经消失,因为它是我在developers.redhat.com/blog/2017/10/25/php-configuration-tips 的博客中的设置中唯一缺少的东西但我确实更改了 php_admin_value[max_input_vars]=10000 以匹配 php.ini

标签: php mysql apache phpmyadmin


【解决方案1】:

正如雷米建议的那样——正如我在上面的评论中所说的——我已经设置了 =>

 php_admin_value[max_input_vars] = 10000

在池文件中,正如 Remi 在他的博客 https://developers.redhat.com/blog/2017/10/25/php-configuration-tips/ 中指出的那样

我在上面的更改之后添加了

 SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1

到 etc/httpd/conf.d/php.conf 文件

请参阅帖子底部,其中 fkooman 指出应该将“$1”添加到博客帖子中显示的命令中,而不需要它。

但是,服务器使用 UNIX SOCKET 方法而不是 TCP 配置在主 www conf 和 httpd.conf 和 ssl.conf 文件中调用 php-fpm 和每个虚拟主机,如下所示。第一个 Timeout 600 用于 Apache - 而 ProxySet Timeout-3600 用于 php-fpm - 至少它似乎是这样工作的

 Timeout 600
 # Proxy declaration
 <Proxy "unix:/var/run/php-fpm/xxxxxxx.com.sock|fcgi://php-fpm">
     # we must declare a parameter in here (doesn't matter which) or it'll not register the proxy ahead of time
     ProxySet connectiontimeout=5 timeout=3600
     ProxySet disablereuse=off
 </Proxy>
 # Redirect to the proxy
 <FilesMatch \.php$>
     SetHandler "proxy:unix:/run/php-fpm/xxxxxxx.com.sock|fcgi://localhost"
 </FilesMatch>

这部分是因为服务器使用 http2 和 mpm-event.so - 因为 Codeit 在其版本 2.4.28 之后 Apache 构建不再支持带有 pre-fork 的 http2 并且它会超时 - 因为 php-fpm 很敏感如果命令没有按照调用 php-fpm 的方式正确放置,则会超时。

请参阅 https://forum.remirepo.net/viewtopic.php?id=3240https://httpd.apache.org/docs/2.4/mod/mod_proxy.html 尤其是 https://httpd.apache.org/docs/2.4/mod/mod_proxy.html#proxyset

到目前为止,我还没有再次看到错误 --- 到目前为止,通过转到通常出现的 phpMyAdmin 导出页面选项卡。

感谢 Remi - 我认为丢失的 HTTP_AUTHORIZATION 是清除它的原因。

【讨论】:

    猜你喜欢
    • 2019-07-30
    • 2012-09-13
    • 2013-08-01
    • 2016-08-26
    • 2011-08-22
    • 2015-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多