ZendFramework использует класс SimpleXMLIterator, но создать его экземпляр не удаётся: [c0der@rock /var/www/html]$ php -r '$a = new SimpleXMLIterator();' PHP Fatal error: Class 'SimpleXMLIterator' not found in Command line code on line 1 Fatal error: Class 'SimpleXMLIterator' not found in Command line code on line 1 php5-5.2.11.20090722-alt1 php5-simplexml-5.2.11.20090722-alt1
Пересобрал php без --disable-simplexml и закомментировал строчку в /etc/php/5.2.11/cli/php.d/simplexml.ini -- помогло.
http://bugs.php.net/bug.php?id=39704 Вкратце проблема в следующем. SimpleXMLIterator является классом библиотеки spl, а не simplexml, но при этом зависит от simplexml. Если simplexml отсутствует в момент сборки spl, которая собирается по умолчанию внутрь libphp, то искомого класса не будет. Видится два способа решения проблемы: 1. Собрать simplexml внутрь libphp (--enable-simplexml), а пакет php5-simplexml удалить, как предложено в #1. 2. Если хочется сохранить simplexml в качестве extension, попытаться собирать и spl в качестве extension с зависимостью php5-spl -> php5-simplexml.
В ближайшей сборке исправим
php5-5.2.12.20091216-alt5 -> sisyphus: * Fri Feb 05 2010 Anton Farygin <rider@altlinux> 5.2.12.20091216-alt5 - build simplexml in php5 package (closes #22210) (upstream bug #39704)
(В ответ на комментарий №4) > php5-5.2.12.20091216-alt5 -> sisyphus: > > * Fri Feb 05 2010 Anton Farygin <rider@altlinux> 5.2.12.20091216-alt5 > > - build simplexml in php5 package (closes #22210) (upstream bug #39704) Что-то как-то неровно она поставилась: 1: glibc-preinstall ############################################################################ [ 5%] 2: glibc-core ############################################################################ [ 10%] 3: glibc-pthread ############################################################################ [ 15%] 4: php5-libs ############################################################################ [ 21%] Checking configuration sanity for httpd: Processing config directory: /etc/httpd/conf/addon-modules.d/*.conf Processing config file: /etc/httpd/conf/addon-modules.d/apache-mod_php5.conf Syntax error on line 1 of /etc/httpd/conf/addon-modules.d/apache-mod_php5.conf: Cannot load /usr/lib/apache/libphp5.so into server: libphp-5.2.11.so.0: cannot open shared object file: No such file or directory [FAILED] error: execution of %preun scriptlet from php5-simplexml-5.2.11.20090722-alt1 failed, exit status 1 5: glibc-gconv-modules ############################################################################ [ 26%] 6: glibc-nss ############################################################################ [ 31%] 7: iconv ############################################################################ [ 36%] 8: php5-suhosin ############################################################################ [ 42%] 9: php5 ############################################################################ [ 47%] 10: glibc-locales ############################################################################ [ 52%] 11: glibc-timezones ############################################################################ [ 57%] 12: glibc-utils ############################################################################ [ 63%] 13: glibc-devel ############################################################################ [ 68%] 14: glibc-i18ndata ############################################################################ [ 73%] 15: php5-dom ############################################################################ [ 78%] 16: php5-mysqli ############################################################################ [ 84%] 17: php5-mysql ############################################################################ [ 89%] 18: apache-mod_php5 ############################################################################ [ 94%] warning: /etc/php/5.2.12/apache-mod_php/php.d/suhosin.ini created as /etc/php/5.2.12/apache-mod_php/php.d/suhosin.ini.phpnew warning: /etc/php/5.2.12/apache-mod_php/php.d/suhosin.ini created as /etc/php/5.2.12/apache-mod_php/php.d/suhosin.ini.phpnew warning: /etc/php/5.2.12/apache-mod_php/php.d/suhosin.ini created as /etc/php/5.2.12/apache-mod_php/php.d/suhosin.ini.phpnew Checking configuration sanity for httpd: [ DONE ] Reloading httpd service: Service libhttpd.ep is not running.[PASSED] Checking configuration sanity for httpd: [ DONE ] Reloading httpd service: Service libhttpd.ep is not running.[PASSED] warning: /etc/php/5.2.11/apache-mod_php/php.ini saved as /etc/php/5.2.11/apache-mod_php/php.ini.rpmsave E: Some errors occurred while running transaction
после обновления перезапустилась нормально ? Понятно, почему такая ошибка вылезает, но я не знаю как её правильно исправить. Буду рад любым разумным предложениям.
Кстати, в системе установлен php-base-2.4-alt1, судя по этому: > 18: apache-mod_php5 > ############################################################################ [ > 94%] > warning: /etc/php/5.2.12/apache-mod_php/php.d/suhosin.ini created as > /etc/php/5.2.12/apache-mod_php/php.d/suhosin.ini.phpnew > warning: /etc/php/5.2.12/apache-mod_php/php.d/suhosin.ini created as > /etc/php/5.2.12/apache-mod_php/php.d/suhosin.ini.phpnew > warning: /etc/php/5.2.12/apache-mod_php/php.d/suhosin.ini created as > /etc/php/5.2.12/apache-mod_php/php.d/suhosin.ini.phpnew Процитированное недоразумение исправлено в php-base-2.4-alt2. Может, имеет смысл пакету php5-libs сделать зависимость на php-base >= 2.4-alt3? Как раз на случай таких вот "точечных" обновлений php5.
Да, стоит сделать. Постараюсь не забыть добавить при следующей сборке.