Corrigir erro do PHP Argumento inválido fornecido para foreach () após a atualização PHP e Mysql

1

Atualizei o PHP da versão 5.3 para o PHP 5.6.21 (mod_fcgid) no meu CentOS 6.5 vps.

O vps tem 4 Prestashop e quase funciona, mas o carrinho não funciona como esperado.

O log de erros do php contém este erro:

mod_fcgid: stderr: PHP Warning:  Invalid argument supplied for foreach() in Cart.php

A falha é global em todos os sites hospedados.

Eu examinei o arquivo chamado Cart.php do Prestashop e o problema é a linha foreach.

$result = Db::getInstance()->ExecuteS('Large Query')
$productsIds = array();
$paIds = array();
foreach ($result as $row)
...

Não vejo nenhum erro aqui, então estou pesquisando o que está errado. Suponho que o erro após a atualização do PHP esteja relacionado a novas restrições de tipos ou a algumas configurações incorretas.

Preciso de uma mão, obrigado.

    
por ppk 17.05.2016 / 18:25

1 resposta

1

Resolvido.

O problema estava relacionado ao banco de dados Mysql 5.7 quando a atualização do Msyql 5.1.

O erro

mod_fcgid: stderr: PHP Warning:  Invalid argument supplied for foreach() in...

estava certo. A consulta executada pelo prestashop retornou alguma coisa. Precisa mudar

modo SQL em my.cnf para

sql-mode=TRADITIONAL
    
por 18.05.2016 / 11:20