Invision Power Board и PHP 5.3.1
Не так давно, а точнее на этой неделе возникла необходимость провести Пентестинг форума на базе Invision Power Board 2.1.7. В целях детального изучения, решил установить на локальный сервер, однако, как оказалось, несколько устаревшая версия IPB не очень дружит с обновленной версией PHP 5.3.1 и устанавливаться никак не хотела. Тем не менее решение было найдено!
Уже на этапе установки форума IPB 2.1.7 из-за конфликта с PHP 5.3 вылезли повторяющиеся ошибки, уходящие в бесконечность:
Warning: Parameter 1 to xml_lite_parse::my_start_element() expected to be a reference, value given in \www\ips_kernel\class_xml.php on line 1322
Warning: Parameter 1 to xml_lite_parse::my_data_element() expected to be a reference, value given in \www\ips_kernel\class_xml.php on line 1317
Warning: Parameter 1 to xml_lite_parse::my_start_element() expected to be a reference, value given in \www\ips_kernel\class_xml.php on line 1327
Warning: Parameter 1 to xml_lite_parse::my_data_element() expected to be a reference, value given in \www\ips_kernel\class_xml.php on line 1331
……………………………
Я полез в поиск в надежде на быстрое решение, но ответы меня повеселили: “Удаляем PHP 5.3.x, ставим PHP 5.2.x – и все работает”. Данное решение меня не устраивало и я отправился на php.net , где быстро нашел решение своей проблемы, в разделе Migrating from PHP 5.2.x to PHP 5.3.x .
Вот решение: в строках 1317, 1322,1327,1332 файла class_xml.php меняем call_user_func( $this->_data, $this, $data ) на call_user_func( $this->_data, &$this, $data ) и все работает без ошибок!
Метки: Invision Power Board, php, Wordpress и CMS
Отзывы читателей