2014-01-29 10 views
4

Я писал код для восстановления html-строки. Я прочитал несколько хороших решений, которые работают с классом Tidy PHP, но у меня были некоторые проблемы с ним. Что в этом посте написано, это именно то, что я хочу, но мне нужно установить/загрузить PHP Tidy class. Close tags from a truncated HTML stringPHP Tidy class не найден, ошибка

Я работаю над PHP 5.5.4. Я попытался установить tidy, следуя некоторым учебникам, но ничего не добавил. Когда я называю кругленькую класс $tidi = new \tidy();, NetBeans предлагает мне класс и нажав на него (Ctrl + клик) Я вижу это, но обновить страницу я получить ошибку Class 'tidy' not found in ... /myfile.php line ...

я использовал так же класс $myVar = new \DomDocument();, но это работает отлично.

Проверка того, загружается ли расширение Tidy, как показано ниже, я получаю «NOT LOADED».

echo extension_loaded('tidy') ? "LOADED" : "NOT LOADED"; 

Пожалуйста, может кто-нибудь объяснить мне, как работает Tidy и как я могу настроить его? My Версия Ubuntu: 13.10.

+0

Включили расширение в файл php.ini? Имеется ли в вашей папке расширения необходимое расширение? Какая среда PHP вы используете (Xampp, loacl apache, LAMP server ...)? – ToBe

+0

Я попытался включить его, но я не очень хорошо понял, как я могу это сделать. Можете ли вы объяснить мне, что мне нужно включить, и как я могу включить расширение? Я установил LAMP-сервер отдельно. спасибо за быстрый ответ –

ответ

8

Ваш php.ini содержит список строк «extension = somefile.so». Вам не хватает правильной строки для вашего аккуратного расширения. Он должен быть включен, но прокомментирован в вашем файле. Просто удалите; символа перед одной строкой для аккуратного расширения и перезапуска вашего веб-сервера.

Образец для окон:

extension=php_tidy.dll 

Пример для Linux:

extension=tidy.so 

На некотором распределении Linux, он должен быть установлен, если вы не можете найти файл с расширением tidy.so в папке расширений , Выполните правильную линию в зависимости от вашего распределения. Вы должны быть суперпользователем или использовать Sudo:

CentOS/RedHat (заменить правильной Lib, как найти с помощью yum search php-tidy:

yum install rh-php56-php-tidy.x86_64 

Debian/Ubuntu:

apt-get install php5-tidy 
+0

Большое спасибо, но ничего не работает. Затем я попробовал просто добавить 'extension = tidy.so' в _/etc/php5/apache2/php.ini_ и перезапустить apache ничего не произошло. После этого я вызвал _locate tidy.so_, и он дал _/usr/lib/libtidy.so_. Затем я устанавливаю 'extension_dir ="/usr/lib "', но ничего не происходит. Если я запустил 'sudo apt-get install php5-tidy', у меня есть ошибка –

+0

Не меняйте папку расширений. Какое распределение вы используете? Получали ли вы какие-либо ошибки при запуске, просто включив это? – ToBe

+1

Должно быть: yum install rh-php56-php-tidy.x86_64 –

3

Я была такая же проблема и Я окончательно выяснил, что это решение для ubuntu 14.04. Xampp.

шаг 1
открыть терминал и ввести следующие

sudo apt-get install php5-tidy 

шаг 2
время, чтобы выяснить, где "tidy.so" получил установлен в.


для меня он был установлен на "/usr/lib/php5/20121212/tidy.so"

шаг 3

найти и открыть свой PHP.INI-файл и найдите раздел расширений и вставить следующую строку

extension=/usr/lib/php5/20121212/tidy.so 

шаг 4

вернуться к терминалу и выполнить следующую команду, чтобы перезагрузить сервер.

sudo /opt/lampp/lampp restart 

шаг 5

проверки того, что новый аккуратный модуль был загружен либо

в терминале

php -m 

и/или путем создания файла на сервере в HTDOCS вызванный test.php и вставляющий следующий код

<?php echo extension_loaded('tidy') ? "LOADED" : "NOT LOADED"; ?> 

следующий запустите этот файл test.php в своем браузере, и он должен прочитать «LOADED»

если нет, вернитесь назад и просмотрите предыдущие шаги, пока не получите это сообщение.

Я надеюсь, что это поможет, :)