Class 当 zf 使用 PHP7 创建项目 ZendApp 时,在 zend 框架 1 中找不到 SimpleXMLIterator
Class SimpleXMLIterator not found in zend framework 1 when zf create project ZendApp with PHP7
我从他们的 official site
下载了这个 zend 框架 zf 1.12.20
解压缩并在 php.ini 中添加库的路径,并根据 this tutorial
在 .bashrc 中添加别名 bin/zf.sh
现在,当我执行 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 已经过时了,但我现在需要它。
太糟糕了,到目前为止没有人能帮助我。幸运的是,在为另一个应用程序工作时不小心,我从 https://linuxconfig.org/moodle-exception-call-to-undefined-function-xml-parser-create 中发现了问题。
异常的原因是 PHP 7.
中缺少 xml 库
通过
安装 php7.0-xml
之后
apt-get install php7.0-xml
一切正常。 Zend Framework 需要 xml 库用于 PHP
我从他们的 official site
下载了这个 zend 框架zf 1.12.20
解压缩并在 php.ini 中添加库的路径,并根据 this tutorial
在 .bashrc 中添加别名 bin/zf.sh现在,当我执行 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 已经过时了,但我现在需要它。
太糟糕了,到目前为止没有人能帮助我。幸运的是,在为另一个应用程序工作时不小心,我从 https://linuxconfig.org/moodle-exception-call-to-undefined-function-xml-parser-create 中发现了问题。
异常的原因是 PHP 7.
中缺少 xml 库通过
安装php7.0-xml
之后
apt-get install php7.0-xml
一切正常。 Zend Framework 需要 xml 库用于 PHP