Хобрук: Ваш путь к мастерству в программировании

Ошибка TYPO3 при настройке расширения sphinx

Я установил последнюю sphinx версию 2.3.1.
У меня TYPO3 CMS 6.2.19.

Прежде чем использовать sphinx, его необходимо настроить. Теперь в области конфигурации sphinx я нажимаю Sphinx 1.4.5. Через некоторое время я получаю следующее сообщение:

Sphinx 1.4.5 has been downloaded.  

Could not extract Sphinx 1.4.5:  
Could not extract 3rd-party libraries for Sphinx:

Archive: /opt/lampp/htdocs/cms1/typo3temp/sphinx-contrib.zip
Inconsistency detected by ld.so: dl-open.c: 596: _dl_open: Assertion `_dl_debug_initialize (0, args.nsid)->r_state == RT_CONSISTENT' failed!  

Could not find a compatible version of Pygments

Я смог отладить это расширение и обнаружил, что оно падает при следующей команде:

CommandUtility::exec("'/usr/bin/unzip' '/opt/lampp/htdocs/cms1/typo3temp/sphinx-contrib.zip' -d '/opt/lampp/htdocs/cms1/uploads/tx_sphinx/sphinx-contrib' 2>&1", $out, $returnValue);

Если я выполняю его из однострочного php-скрипта, я получаю следующее сообщение:

lchmod (file attributes) error: Function not implemented

Кто-нибудь понял, что с ним не так???


Ответы:


1

OK. Я сам нашел обходной путь: это были библиотеки. Поэтому мне пришлось предварительно загрузить другие версии.

В общем, способ такой: в файле, где вызывается unzip (Setup.php), в функции unarchive добавить LD_PRELOAD=/lib64/libgcc_s.so.1:/usr/lib64/libstdc++.so.6 перед командой unzip. Теперь это выглядит следующим образом:

$cmd = 'LD_PRELOAD=/lib64/libgcc_s.so.1:/usr/lib64/libstdc++.so.6 ' . $unzip . ' ' . escapeshellarg($archiveFileName) ...

И да, это не лучшее решение, но оно сработало для меня.

06.08.2016
Новые материалы

Введение в контекст React
В этом посте мы поговорим о Context API, который был представлен в React 16, и о том, как вы можете их использовать. Что такое контекст? Глядя на определение из react docs , оно..

Шлюз с лицензией OSS, совместимый с Apollo Federation v2, появится в WunderGraph
Сегодня мы рады сообщить, что мы сотрудничаем с поддерживаемой YC Tailor Technologies, Inc. для внедрения Apollo Federation v2. Реализация будет лицензирована MIT (Engine) и Apache 2.0..

Это оно
Ну, я официально уволился с работы! На этой неделе я буду лихорадочно выполнять последние требования Думающего , чтобы я мог сосредоточиться на поиске работы. Что именно это значит?..

7 полезных библиотек JavaScript, которые вы должны использовать в своем следующем проекте
Усильте свою разработку JavaScript Есть поговорка «Не нужно изобретать велосипед». Библиотеки — лучший тому пример. Это поможет вам написать сложные и трудоемкие функции простым способом...

Базовое руководство по переносу концепций обучения в глубокое обучение
Обзор По мере того, как машинное обучение становится все более мощным и продвинутым, модели, обеспечивающие эту расширенную возможность, становятся все больше и начинают требовать огромного..

C в C.R.U.D с использованием React-Redux
Если вы использовали React, возможно, вы знакомы с головной болью, связанной с обратным потоком данных. Передача состояния реквизитам от родительских компонентов к дочерним компонентам может..

5 обязательных элементов современного инструмента конвейера данных
В цифровом мире предприятия используют конвейеры данных для перемещения, преобразования и хранения огромных объемов данных. Эти конвейеры составляют основу бизнес-аналитики и играют..