Мой веб-сайт использует следующий код и прекрасно работает на PHP7 .3, но веб-сайт был перенесен на новый сервер, и теперь он выдает ошибку Call to undefined method DOMText::getAttribute()
в той же версии PHP, которая была 7.3, а также на 7, 7.1 и 7.2, теперь он работает только на PHP 5.6.
$dom = new DOMDocument();
libxml_use_internal_errors(true);
$dom->loadHTML($html_with_readable_names);
libxml_use_internal_errors(false);
$domx = new DOMXPath($dom);
$items = $domx->query('//'.$element['type'].'[@name="'.$element['name'].'"]');
foreach($items as $item) {
$friendly_name = strtolower($item->getAttribute("name"));
// above line causes error
...more code
}
Что может измениться между серверами?
Я видел различные исправления, такие как добавление if ($item->nodeType == XML_ELEMENT_NODE) {
до или if (get_class($node) != 'DOMText') {
, но, похоже, не подходит.