php - 大量表的 Phpmyadmin 500 内部服务器错误
问题描述
我的数据库中有很多表,当我尝试导航表列表时,我从 phpmyadmin 收到 500 错误
这是apache日志中的相关错误
[proxy_fcgi:error] [pid 14770] [client 94.130.127.152:20932] AH01071: Got error 'PHP message: PHP Fatal error: Uncaught TypeError: Argument 2 passed to PhpMyAdmin\\DatabaseInterface::dataSeek() must be of the type int, string given, called in /var/www/html/phpMyAdmin-5.0.1-all-languages/libraries/classes/Navigation/Nodes/NodeDatabase.php on line 488
and defined in /var/www/html/phpMyAdmin-5.0.1-all-languages/libraries/classes/DatabaseInterface.php:2730
Stack trace:
#0 /var/www/html/phpMyAdmin-5.0.1-all-languages/libraries/classes/Navigation/Nodes/NodeDatabase.php(488): PhpMyAdmin\\DatabaseInterface->dataSeek()
#1 /var/www/html/phpMyAdmin-5.0.1-all-languages/libraries/classes/Navigation/Nodes/NodeDatabase.php(514): PhpMyAdmin\\Navigation\\Nodes\\NodeDatabase->getTablesOrViews()
#2 /var/www/html/phpMyAdmin-5.0.1-all-languages/libraries/classes/Navigation/Nodes/NodeDatabase.php(373): PhpMyAdmin\\Navigation\\Nodes\\NodeDatabase->getTables()
#3 /var/www/html/phpMyAdmin-5.0.1-all-languages/libraries/classes/Navigation/NavigationTree.php(400): PhpMyAdmin\\Navigation\\Nodes\\NodeDatabase->getDa...'
centos7
php7.4
directadmin 1.6
mysql 5.7
php1_release 5.6
php1_mode mod_php
php2_release 7.4
php2_mode php-fpm
我的 php1_release 是 php5.6 但由于 phpmyadmin 需要 php7.2+ 我手动更改了处理程序以指向 php 7.4 fpm 套接字
我来宾说某些资源的 php 大小太低导致此错误,因为它在我的其他服务器上工作得很好......
那么我需要更改什么配置?
解决方案
到@MagnusEriksson的坦克 是解决方案:
https://github.com/phpmyadmin/phpmyadmin/issues/15772
https://github.com/phpmyadmin/phpmyadmin/commit/6981910c8c2c2fd1aaa515c2a37459e68a3740e3
在libraries/classes/Navigation/NavigationTree.php:129
$this->pos2Value[0] = (int) $_REQUEST['pos2_value'];
只需添加cast to int
推荐阅读
- java - 如何删除 \n 换行符并在 logback 中用 \r 回车替换?
- ios - 在 iOS 13 中的 iPhone 上将纵向视图控制器推送到横向视图控制器上
- laravel - Laravel 5.7,带有驱动程序护照的 API,无法在登录时添加验证
- javascript - 如何从 webgl 中的前/左/上向量创建投影矩阵
- emacs - 如何明确指定自动压缩模式应处理哪些存档文件?
- arrays - 在 Postman 中取消嵌套 JSON 响应
- c++ - 指向不同大小的成员数组的指针
- repast-simphony - 在 REPAST 中按季度/月汇总输出
- r - 将一行的一个值与同一列的所有行的平均值进行比较
- docker - 我想创建多个容器,然后创建不同的 pod 并将容器放入 pod