Назад | Перейти на главную страницу

Исправить ошибку PHP. Недопустимый аргумент для foreach () после обновления PHP и Mysql

Я обновил PHP с версии 5.3 до PHP 5.6.21 (mod_fcgid) на моем CentOs 6.5 vps.

VPS содержит 4 Prestashop и почти работает, но тележка работает не так, как ожидалось.

Журнал ошибок php содержит эту ошибку:

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

Сбой является глобальным для всех размещенных сайтов.

Я изучил файл Cart.php из Prestashop, и проблема заключается в строке foreach.

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

Я не вижу здесь ошибок, поэтому ищу, что не так. Я полагаю, что ошибка после обновления PHP связана с ограничениями нового типа или некорректно настроенной настройкой.

Нужна помощь, спасибо.

Решено.

Проблема была связана с базой данных Mysql 5.7 при обновлении с Mysql 5.1.

Ошибка

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

был прав. Запрос, выполненный prestashop, ничего не дал. Нужно изменить

Режим SQL в my.cnf для

sql-mode=TRADITIONAL