Я обновил 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 при обновлении с Msyql 5.1.
Ошибка
mod_fcgid: stderr: PHP Warning: Invalid argument supplied for foreach() in...
была правильной. Запрос, выполненный prestashop, ничего не дал. Необходимо изменить режим SQL
в my.cnf на
sql-mode=TRADITIONAL