Как-то раз, обновив у себя на сайте модуль FileField, в статусной информации моего Drupal-сайта появилось предупреждение о том, что желательно бы установить PECL-библиотечку uploadprogress для PHP, позволяющую отслеживать процесс загрузки файлов на сервер.
После 15-минут гугления и чтения разных инструкций, установил ее. В связи с чем, предлагаю вашему вниманию краткую инструкцию о том, как установить любую PECL-библиотеку на ваш сайт.
Прежде чем продолжить, убедитесь, что у вас уже установлены:
Apache2, PHP 5.2.x
sudo apt-get install php-pear
sudo apt-get install php5-dev
sudo pecl install uploadprogress
php.ini файла: /etc/php5/apache2 и /etc/php5/cli. Насколько я понимаю, эти файлики относятся к разным экземплярам PHP: один для PHP, подключенного как модуль Apache, а второй - для PHP, доступного через командную строку (Command Line Interface). Если кто знает точно и может что-то добавить - милости просим в комментарии.
Итак, правим файл php.ini - добавляем в самый конец строки:
; install the uploadprogress library for Drupal (FileField module) extension=uploadprogress.so
sudo /etc/init.d/apache2 restart
PS: любые вопросы, предложения, уточнения приветствуются в комментариях!
Комментарии
у меня на VPS тожде нет, этой
у меня на VPS тожде нет, этой библиотеке, только я ни разу не устанавливал ни одного модуля или библиотке, скажите пожалуйста как её установить с самого начала, например куда её заливать и с какими правами root или webmaster?
спасибо.
Сергей, ничего никуда
Сергей, ничего никуда заливать не надо. Нужно просто выполнить эти команды, и все будет установлено. :)
Эта инструкция написана для серверов под управлением Ubuntu (или Debian). Так что если у вас например Gentoo, то там будут свои команды. Ищите для своей системы.
спасибо, попробую. У меня VPS
спасибо, попробую.
У меня VPS Ubunu 8 на РБК.
не получилось, выдало sudo:
не получилось, выдало
sudo: pecl: command not found
Значит предыдущие команды не
Значит предыдущие команды не выполнились или выполнились некорректно. Смотрите вывод после каждой команды, там указаны причины неудачи. Сначала надо установить два пакета:
php5-devиphp-pear. Если они установятся корректно, значитpeclу вас поставится. После этого можно установить любую pecl-библиотеку.Попробуйте также выполнить команду
whereis pecl- если у вас pecl (которая находится в пакете php-pear) установилась корректно, то вывод будет примерно таким:$ whereis pecl
pecl: /usr/bin/pecl
Если команда
peclне работает, то попробуйте указать полный путь до нее:sudo /usr/bin/pecl install uploadprogress
Спасибо автору. в три клика
Спасибо автору.
в три клика поставил библиотеку
Я чуть изменил и добавил проверку обновлений. Автору спасибо
Пошагово для Debian-подобных систем:
~$ sudo aptitude update && aptitude safe-upgrade
Пробуем установить (скорее всего уже само установилось)
~$ sudo aptitude install php-pear
Затем
~$ sudo aptitude install php5-dev
~$ sudo pecl install uploadprogress
Результат должен быть примерно таким
configuration option "php_ini" is not set to php.ini location
You should add "extension=uploadprogress.so" to php.ini
Потом начинаем искать этот самый php.ini.
Можно поискать здесь /etc/php5/apache2 или /etc/php5/cli
У меня стоит ispCP Omega и для нее файлик лежит по адресу /var/www/fcgi/master/php5.
Когда найдете этот файлик в самый конец допишете
; install the uploadprogress library for Drupal (FileField module)
extension=uploadprogress.so
Перезагружаем Apache
sudo /etc/init.d/apache2 restart
Проверяем. Если файлик правильный нашли, то сообщение об ошибке исчезнет.
Отправить комментарий