Класс SimpleXMLIterator не найден в zend framework 1, когда zf создает проект ZendApp с PHP7

Я скачал этот Zend Framework zf 1.12.20 с их официального сайта.

Разархивировал его и добавил путь к библиотеке в php.ini и псевдоним bin/zf.sh в .bashrc согласно это руководство

Теперь, когда я делаю zf create project ZendApp, я получаю следующую ошибку:

nidhind@nidhind-Lenovo-B590 ~ $ zf create project zendapp
PHP Fatal error:  Uncaught Error: Class 'SimpleXMLIterator' not found in /usr/share/ZendFramework-1.12.20/library/Zend/Tool/Project/Profile/FileParser/Xml.php:109
Stack trace:
#0 /usr/share/ZendFramework-1.12.20/library/Zend/Tool/Project/Profile.php(106): Zend_Tool_Project_Profile_FileParser_Xml->unserialize('<?xml version="...', Object(Zend_Tool_Project_Profile))
#1 /usr/share/ZendFramework-1.12.20/library/Zend/Tool/Project/Provider/Project.php(91): Zend_Tool_Project_Profile->loadFromData()
#2 /usr/share/ZendFramework-1.12.20/library/Zend/Tool/Framework/Client/Abstract.php(324): Zend_Tool_Project_Provider_Project->create('/home/nidhind/z...', NULL, NULL)
#3 /usr/share/ZendFramework-1.12.20/library/Zend/Tool/Framework/Client/Abstract.php(318): Zend_Tool_Framework_Client_Abstract->_handleDispatchExecution(Object(Zend_Tool_Project_Provider_Project), 'create', Array)
#4 /usr/share/ZendFramework-1.12.20/library/Zend/Tool/Framework/Client/Abstract.php(241): Zend_Tool_Framework_Client_Abstract->_handleDispatch()
#5 /usr/share/ZendFr in /usr/share/ZendFramework-1.12.20/library/Zend/Tool/Project/Profile/FileParser/Xml.php on line 109

Fatal error: Uncaught Error: Class 'SimpleXMLIterator' not found in /usr/share/ZendFramework-1.12.20/library/Zend/Tool/Project/Profile/FileParser/Xml.php:109
Stack trace:
#0 /usr/share/ZendFramework-1.12.20/library/Zend/Tool/Project/Profile.php(106): Zend_Tool_Project_Profile_FileParser_Xml->unserialize('<?xml version="...', Object(Zend_Tool_Project_Profile))
#1 /usr/share/ZendFramework-1.12.20/library/Zend/Tool/Project/Provider/Project.php(91): Zend_Tool_Project_Profile->loadFromData()
#2 /usr/share/ZendFramework-1.12.20/library/Zend/Tool/Framework/Client/Abstract.php(324): Zend_Tool_Project_Provider_Project->create('/home/nidhind/z...', NULL, NULL)
#3 /usr/share/ZendFramework-1.12.20/library/Zend/Tool/Framework/Client/Abstract.php(318): Zend_Tool_Framework_Client_Abstract->_handleDispatchExecution(Object(Zend_Tool_Project_Provider_Project), 'create', Array)
#4 /usr/share/ZendFramework-1.12.20/library/Zend/Tool/Framework/Client/Abstract.php(241): Zend_Tool_Framework_Client_Abstract->_handleDispatch()
#5 /usr/share/ZendFr in /usr/share/ZendFramework-1.12.20/library/Zend/Tool/Project/Profile/FileParser/Xml.php on line 109

Я устал, переместив фреймворк в свою домашнюю папку, но ошибка не устранилась. Я пытался использовать zf 1.12.19, все равно не повезло.

Затем, чтобы проверить, не видит ли zf php, я выполнил следующий код с этого сайта, и он отлично сработал:

<?php
require_once 'Zend/Pdf.php';

/* create a new pdf document */
$pdf = new Zend_Pdf();

/* create a page */
$page = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_LETTER_LANDSCAPE);

/* setup font */
$font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA);

/* write text to page */
$page->setFont($font, 48);
$page->drawText('Hello, World!', 250, 500);

/* add page to document */
$pdf->pages[] = $page;

/* save pdf */
$pdf->save('/home/nidhind/Public/hello.pdf');
?>

Похоже, что эту ошибку вызывает файл zf.sh. Было бы здорово, если бы кто-нибудь мог помочь. Я запускаю apache2 2.4.18 и PHP 7.0.8 на Linux Mint 18. Я знаю, что zf1 устарел, но он мне нужен сейчас.


person Nidhin David    schedule 02.10.2016    source источник


Ответы (1)


Жаль, что пока никто не мог мне помочь. К счастью, случайно, работая над другим приложением, я обнаружил проблему из https://linuxconfig.org/moodle-exception-call-to-undefined-function-xml-parser-create.

Причиной исключения было отсутствие библиотеки xml в PHP 7.

После установки php7.0-xml пользователем

apt-get install php7.0-xml

все работало нормально. Для Zend Framework требуется библиотека xml для PHP

person Nidhin David    schedule 05.10.2016
comment
Спасибо! Мне тоже помогло :) - person vpas; 13.10.2017