ale*_*bal 385 phpmyadmin countable
我已将备份上传到表格,打开表格我看到了:
Warning in ./libraries/sql.lib.php#601
count(): Parameter must be an array or an object that implements Countable
Backtrace
./libraries/sql.lib.php#2038: PMA_isRememberSortingOrder(array)
./libraries/sql.lib.php#1984: PMA_executeQueryAndGetQueryResponse(
array,
boolean true,
string 'alternativegirls',
string 'tgp_photo',
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
string '',
string './themes/pmahomme/img/',
NULL,
NULL,
NULL,
string 'SELECT * FROM `tgp_photo`',
NULL,
NULL,
)
./sql.php#216: PMA_executeQueryAndSendQueryResponse(
array,
boolean true,
string 'alternativegirls',
string 'tgp_photo',
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
string '',
string './themes/pmahomme/img/',
NULL,
NULL,
NULL,
string 'SELECT * FROM `tgp_photo`',
NULL,
NULL,
)
./index.php#53: include(./sql.php)
Run Code Online (Sandbox Code Playgroud)
在phpMyAdmin里面......
PHP是7.2,服务器是Ubuntu 16.04,昨天安装.
寻找我看到有些人在他们的代码中有这个错误,但我没有找到任何人在phpMyAdmin中收到它...
我该怎么办?这是我的错误吗?一个phpmyadmin错误?等待更新?我回到PHP 7.1?
小智 684
编辑文件/usr/share/phpmyadmin/libraries/sql.lib.php:
sudo nano /usr/share/phpmyadmin/libraries/sql.lib.php
Run Code Online (Sandbox Code Playgroud)
更换: $analyzed_sql_results['select_expr']
附: /usr/share/phpmyadmin/libraries/sql.lib.php
重启服务器apache:
((empty($analyzed_sql_results['select_expr']))
|| (count($analyzed_sql_results['select_expr'] == 1)
&& ($analyzed_sql_results['select_expr'][0] == '*')))
Run Code Online (Sandbox Code Playgroud)
Cha*_*kka 389
只需在终端下面的命令行运行,然后返回PhpMyAdmin.现在它工作正常:)
sudo sed -i "s/|\s*\((count(\$analyzed_sql_results\['select_expr'\]\)/| (\1)/g" /usr/share/phpmyadmin/libraries/sql.lib.php
Run Code Online (Sandbox Code Playgroud)
打开sql.lib.php文件
nano /usr/share/phpmyadmin/libraries/sql.lib.php
Run Code Online (Sandbox Code Playgroud)
查找count($analyzed_sql_results['select_expr']文件中的代码.你可以在~ 613行得到这个.你可以在下面看到错误的代码
|| (count($analyzed_sql_results['select_expr'] == 1)
Run Code Online (Sandbox Code Playgroud)
只需用下面的代码替换错误的代码即可
|| ((count($analyzed_sql_results['select_expr']) == 1)
Run Code Online (Sandbox Code Playgroud)
保存文件并转到PhpMyAdmin.
现在它工作正常:)
小智 95
我在sql.lib.php中发现了这个PHP 7.2 count() - SYNTAX错误
这完全适用于我的配置:
Debian 9,
PHP 7.2.3-1+0~20180306120016.19+stretch~1.gbp81bf3b (cli) (built: Mar 6 2018 12:00:19) ( NTS )
Run Code Online (Sandbox Code Playgroud)
打开 /usr/share/phpmyadmin/libraries/sql.lib.php
更改行:在==之前移动括号
|| ((count($ analyze_sql_results ['select_expr'] ) == 1)&&($ analyze_sql_results ['select_expr'] [0] =='*')))
在
function PMA_isRememberSortingOrder($analyzed_sql_results){
return $GLOBALS['cfg']['RememberSorting']
&& ! ($analyzed_sql_results['is_count']
|| $analyzed_sql_results['is_export']
|| $analyzed_sql_results['is_func']
|| $analyzed_sql_results['is_analyse'])
&& $analyzed_sql_results['select_from']
&& ((empty($analyzed_sql_results['select_expr']))
|| ((count($analyzed_sql_results['select_expr'] ) == 1)
&& ($analyzed_sql_results['select_expr'][0] == '*')))
&& count($analyzed_sql_results['select_tables']) == 1;
}
Run Code Online (Sandbox Code Playgroud)
小智 70
在Debian上测试,应该适用于Ubuntu:
1.)首先下载最新的phpMyadmin文件.
2.)删除(备份)位于/usr/share/phpmyadmin目录中的所有先前版本文件.
3.)解压缩/usr/share/phpmyadmin/目录最新phpmyadmin的所有文件.
4.)修改文件libraries/vendor_config.php并更改行:
define('CONFIG_DIR', '');
Run Code Online (Sandbox Code Playgroud)
至
define('CONFIG_DIR', '/etc/phpmyadmin/');
Run Code Online (Sandbox Code Playgroud)
和
define('TEMP_DIR', './tmp/');
Run Code Online (Sandbox Code Playgroud)
至
define('TEMP_DIR', '/tmp/');
Run Code Online (Sandbox Code Playgroud)
5.)重启apache服务器并完成.
小智 37
编辑文件:'/usr/share/phpmyadmin/libraries/sql.lib.php'
替换:(count($analyzed_sql_results['select_expr'] == 1)
用: (count($analyzed_sql_results['select_expr']) == 1
这对我有用
kal*_*eem 32
Works on UBUNTU 18.04
Edit file: '/usr/share/phpmyadmin/libraries/sql.lib.php'
Replace: (count($analyzed_sql_results['select_expr'] == 1)
With: ((count($analyzed_sql_results['select_expr']) == 1)
Restart the server
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)
jba*_*tor 27
如果有人在数据库导出页面中有类似错误(我在Ubuntu 18.04中遇到此问题),则/usr/share/phpmyadmin/libraries/plugin_interface.lib.php用代码替换文件中的第551行
if ($options != null && (is_array($options) || $options instanceof Countable) && count($options) > 0) {
Run Code Online (Sandbox Code Playgroud)
Edw*_*rth 24
phpmyadmin 4.7.4应该有"修复PHP 7.2的几个兼容性问题"
有可能你有一个旧版本的phpmyadmin.
https://www.phpmyadmin.net/news/2017/8/24/phpmyadmin-474-released/
C13*_*3L0 24
Ubuntu 18.04 LTS
这些是对我有用的步骤。非常感谢 William Desportes 在他们的 Ubuntu PPA 上提供自动更新。
第 1 步(来自 William Desportes 帖子)
$sudo add-apt-repository ppa:phpmyadmin/ppa
第 2 步
$sudo apt-get --with-new-pkgs upgrade
第 3 步
$sudo service mysql restart
如果您已经重新启动mysql的问题,您也可以按以下顺序重新启动
$ sudo service mysql stop;
$sudo service mysql start;
小智 23
继续执行ubuntu-18.04的以下步骤:
步骤1)找到sql.lib.php
它会显示如下:
/usr/share/phpmyadmin/libraries/sql.lib.php
Run Code Online (Sandbox Code Playgroud)
步骤2)打开终端(Alt t)并写入:
sudo /usr/sbin/pma-configure
Run Code Online (Sandbox Code Playgroud)
步骤3)sudo gedit /usr/share/phpmyadmin/libraries/sql.lib.php
并搜索以下功能:
function PMA_isRememberSortingOrder($analyzed_sql_results)
{
return $GLOBALS['cfg']['RememberSorting']
&& ! ($analyzed_sql_results['is_count']
|| $analyzed_sql_results['is_export']
|| $analyzed_sql_results['is_func']
|| $analyzed_sql_results['is_analyse'])
&& $analyzed_sql_results['select_from']
&& ((empty($analyzed_sql_results['select_expr']))
|| (count($analyzed_sql_results['select_expr'] == 1)
&& ($analyzed_sql_results['select_expr'][0] == '*')))
&& count($analyzed_sql_results['select_tables']) == 1;
}
步骤4)将以上功能替换为:
function PMA_isRememberSortingOrder($analyzed_sql_results)
{
return $GLOBALS['cfg']['RememberSorting']
&& ! ($analyzed_sql_results['is_count']
|| $analyzed_sql_results['is_export']
|| $analyzed_sql_results['is_func']
|| $analyzed_sql_results['is_analyse'])
&& $analyzed_sql_results['select_from']
&& ((empty($analyzed_sql_results['select_expr']))
|| (count($analyzed_sql_results['select_expr']) == 1)
&& ($analyzed_sql_results['select_expr'][0] == '*'))
&& count($analyzed_sql_results['select_tables']) == 1;
}
步骤4)在终端上保存并关闭文件及以下命令
sudo /usr/sbin/pma-secure
Run Code Online (Sandbox Code Playgroud)
第5步) sudo service mysql reload
第6步) sudo service apache2 reload
它对我有用.. Goodluck
Kun*_*roy 21
打开此文件:'/usr/share/phpmyadmin/libraries/sql.lib.php'
sudo nano /usr/share/phpmyadmin/libraries/sql.lib.php
Run Code Online (Sandbox Code Playgroud)
按ctrl + w进行搜索(计数($($ analyzed_sql_results ['select_expr'] == 1))
Find: count($analyzed_sql_results['select_expr'] == 1)
Replace With: (count($analyzed_sql_results['select_expr']) == 1)
Run Code Online (Sandbox Code Playgroud)
重新启动服务器
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)
此外,如果您仍然面临相同的问题,请执行以下操作。
打开此文件/usr/share/phpmyadmin/libraries/plugin_interface.lib.php
sudo nano /usr/share/phpmyadmin/libraries/plugin_interface.lib.php
Run Code Online (Sandbox Code Playgroud)
查找:if($ options!= null && count($ options)> 0){
Ctrl+w : if ($options != null && count($options) > 0) {
Run Code Online (Sandbox Code Playgroud)
用以下代码替换
if ($options != null && count((array)$options) > 0) {
Run Code Online (Sandbox Code Playgroud)
现在保存并重新启动服务器
sudo /etc/init.d/apache2 restart
Run Code Online (Sandbox Code Playgroud)
小智 16
尝试在文件中替换此函数:/usr/share/phpmyadmin/libraries/sql.lib.php
function PMA_isRememberSortingOrder($analyzed_sql_results)
{
return $GLOBALS['cfg']['RememberSorting']
&& ! ($analyzed_sql_results['is_count']
|| $analyzed_sql_results['is_export']
|| $analyzed_sql_results['is_func']
|| $analyzed_sql_results['is_analyse'])
&& $analyzed_sql_results['select_from']
&& ((empty($analyzed_sql_results['select_expr']))
|| (count($analyzed_sql_results['select_expr']) == 1)
&& ($analyzed_sql_results['select_expr'][0] == '*'))
&& count($analyzed_sql_results['select_tables']) == 1;
}
Run Code Online (Sandbox Code Playgroud)
Pho*_*ixS 16
我认为最好的选择是将Phpmyadmin更新为已经修复过的版本.
直到它作为deb发布,你可以像@ crimson-501一样回答,我将在下面复制:
apt-get install phpmyadmin.cd /usr/share.rm -rf phpmyadmin.apt-get install wget:wget -P /usr/share/ "https://files.phpmyadmin.net/phpMyAdmin/4.8.2/phpMyAdmin-4.8.2-english.zip"让我解释这个命令的参数,-P定义路径和"link.zip"目前(7/17/18) )最新版本的PMA.你可以在这里找到这些链接.apt-get install unzip)unzip phpMyAdmin-4.8.2-english.zip.我们只是解压缩PMA,现在我们将把它移到它的最后一个家.cp(复制)命令来移动我们的文件!请注意,我们必须添加-r参数,因为这是一个文件夹.cp -r phpMyAdmin-4.8.2-english phpmyadmin.rm -rf phpMyAdmin-4.8.2-english.登录PMA后,您现在可能会注意到两个错误.
the configuration file now needs a secret passphrase (blowfish_secret). phpmyadmin
The $cfg['TempDir'] (./tmp/) is not accessible. phpMyAdmin is not able to cache templates and will be slow because of this.
Run Code Online (Sandbox Code Playgroud)
但是,这些问题相对容易修复.对于第一个问题,您所要做的就是抓住您选择的编辑器进行编辑,/usr/share/phpmyadmin/config.inc.php但是有问题,我们将其删除了!没关系,你所要做的就是:cd /usr/share/phpmyadmin&cp config.sample.inc.php config.inc.php.
nano config.inc.php并从本页底部附近复制动态生成的秘密:https://www.question-defense.com/tools/phpmyadmin-blowfish-secret-generator.示例phpMyAdmin Blowfish秘密变量输入:
/*
* This is needed for cookie based authentication to encrypt password in
* cookie
*/
$cfg['blowfish_secret'] = '{^QP+-(3mlHy+Gd~FE3mN{gIATs^1lX+T=KVYv{ubK*U0V';
/* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
Run Code Online (Sandbox Code Playgroud)
现在保存并关闭文件.
mkdir tmp&chown -R www-data:www-data /usr/share/phpmyadmin/tmp.最后一个命令允许Apache Web服务器拥有tmp目录并编辑它的内容.ole*_*ole 15
Ubuntu 18.10(2018年12月)
第613,614,615行,替换为:
|| count($analyzed_sql_results['select_expr']) == 1
&& ($analyzed_sql_results['select_expr'][0] == '*'))
&& count($analyzed_sql_results['select_tables']) == 1;
Run Code Online (Sandbox Code Playgroud)
Top*_*koX 13
为我工作.. Ubuntu 18.04
sudo nano /usr/share/phpmyadmin/libraries/sql.lib.php
Run Code Online (Sandbox Code Playgroud)
查找count($analyzed_sql_results['select_expr']文件中的代码。您可以在〜613行获得它。
|| (count($analyzed_sql_results['select_expr'] == 1)
Run Code Online (Sandbox Code Playgroud)
只需替换为代码:
|| ((count($analyzed_sql_results['select_expr']) == 1)
Run Code Online (Sandbox Code Playgroud)
保存文件并重新加载PhpMyAdmin。
做完了!!!
这对我有用;
sudo nano /usr/share/phpmyadmin/libraries/sql.lib.php
Run Code Online (Sandbox Code Playgroud)
线路编号 : 614
替换两个代码:
代替:
(count($analyzed_sql_results[‘select_expr’] == 1)
Run Code Online (Sandbox Code Playgroud)
和:
(count($analyzed_sql_results[‘select_expr’]) == 1)
Run Code Online (Sandbox Code Playgroud)
和
代替:
($analyzed_sql_results[‘select_expr’][0] == ‘*’)))
Run Code Online (Sandbox Code Playgroud)
和:
($analyzed_sql_results[‘select_expr’][0] == ‘*’))
Run Code Online (Sandbox Code Playgroud)
保存,退出并运行
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)
小智 8
适用于UBUNTU 16.04.3刚刚打开
USR /股/库/ sql.lib.php
修改
|| (count($analyzed_sql_results['select_expr'] == 1)
至
|| ((count($analyzed_sql_results['select_expr']) == 1)
在更高版本的PHPMyAdmin中已修复此问题。适用于Ubuntu 18.04.2的Ubuntu软件存储库的版本为4.6.6.5,而当前版本为4.9.0.1。更新您的PHPMyAdmin安装将解决此问题,但可能比仅编辑一行代码要冒更大的风险。这是我在Ubuntu服务器上执行此操作的方法。对于所有操作系统,步骤基本上是相同的(具有不同的路径)。
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.0.1/phpMyAdmin-4.9.0.1-all-languages.zip
unzip phpMyAdmin-4.9.0.1-all-languages.zip
Run Code Online (Sandbox Code Playgroud)
cp -r /usr/share/phpmyadmin ~/phpmyadmin-backup
Run Code Online (Sandbox Code Playgroud)
cd phpMyAdmin-4.9.0.1-all-languages
rm -r /usr/share/phpmyadmin/doc/html
cp -R * /usr/share/phpmyadmin/
Run Code Online (Sandbox Code Playgroud)
验证它是否有效。如果没有,请...您有备份,请还原它并手动编辑有问题的行。以我个人的经验,在执行此操作后,我发现4.6.6.5版本不仅布满了错误,而且与新版4.9.0.1相比,速度也令人难以置信。速度的提高对我来说虽然是“ WordPress”质量的东西来说真是不可思议。
这在Ubuntu 18.04上对我很有效。
打开sql.lib.php文件
nano +613 /usr/share/phpmyadmin/libraries/sql.lib.php
Run Code Online (Sandbox Code Playgroud)
替换这个错误的代码:
|| (count($analyzed_sql_results['select_expr'] == 1)
Run Code Online (Sandbox Code Playgroud)
有了这个:
|| ((count($analyzed_sql_results['select_expr']) == 1)
Run Code Online (Sandbox Code Playgroud)
保存文件。
使用以下命令重新启动服务器:
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)
并刷新PhpMyAdmin
小智 5
编辑文件 '/usr/share/phpmyadmin/libraries/sql.lib.php' 替换:(进行备份)
"|| (count($analyzed_sql_results['select_expr'] == 1)
&&($analyzed_sql_results['select_expr'][0] == '*')))
&& count($analyzed_sql_results['select_tables']) == 1;"
Run Code Online (Sandbox Code Playgroud)
和:
"|| (count($analyzed_sql_results['select_expr']) == 1)
&& ($analyzed_sql_results['select_expr'][0] == '*')
&& (count($analyzed_sql_results['select_tables']) == 1));"
Run Code Online (Sandbox Code Playgroud)
小智 5
嗨,以下绝对解决了我同样的问题(导入/导出等):
修复错误 Phpmyadmin [plugin_interface.lib.php] + Php7.2 + Ubuntu 16.04
所以......在ubuntu 18.04,mysql,php7.2下:终端:
sudo gedit /usr/share/phpmyadmin/libraries/plugin_interface.lib.php
Run Code Online (Sandbox Code Playgroud)
找到以下行(ctrl+f):
if ($options != null && count($options) > 0) {
Run Code Online (Sandbox Code Playgroud)
对我来说是#551
并更改以下内容:
if ($options != null && count((array)$options) > 0) {
Run Code Online (Sandbox Code Playgroud)
ctrl+s 保存更改
并在终端中:ctrl+c 返回提示...
和: sudo systemctl restart apache2
“我认为在新的 php 版本中。它不能使用具有 un 数组类型的 count() 或 sizeof()。强制参数到数组是解决此错误的简单方法,...”
感谢原作者解决问题!我试着分享!
|| ((count($analyzed_sql_results['select_expr']) == 1
这是我在第 614 行更改的内容,phpmyadmin 可以正常工作,没有任何错误。需要一个(计数之前,和一个)前==。就是这样。
小智 5
对于我的phpmyadmin版本(4.6.6deb5),我找到了613行,并意识到count()括号未正确关闭。要暂时解决此问题,直到下一个版本,只需更改:
|| (count($analyzed_sql_results['select_expr'] == 1)
Run Code Online (Sandbox Code Playgroud)
至:
|| (count($analyzed_sql_results['select_expr']) == 1
Run Code Online (Sandbox Code Playgroud)
小智 5
只需更正文件中count()第 604 行到 615 行的函数和右括号/usr/share/phpmyadmin/libraries/sql.lib.php:
function PMA_isRememberSortingOrder($analyzed_sql_results)
{
return $GLOBALS['cfg']['RememberSorting']
&& ! ($analyzed_sql_results['is_count']
|| $analyzed_sql_results['is_export']
|| $analyzed_sql_results['is_func']
|| $analyzed_sql_results['is_analyse'])
&& $analyzed_sql_results['select_from']
&& ((empty($analyzed_sql_results['select_expr']))
|| (count($analyzed_sql_results['select_expr']) == 1)
&& ($analyzed_sql_results['select_expr'][0] == '*'))
&& count($analyzed_sql_results['select_tables']) == 1;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
270297 次 |
| 最近记录: |