FastNetMon

Sunday, 28 March 2010

Установка PECL PHP uploadprogress на Debian

Что это и зачем, можно кратко прочесть вот здесь: http://pecl.php.net/package/uploadprogress

Ставим PECL:
apt-get install -y php-pear


Ставим зависимости для сборки:

apt-get install -y php5-dev


Собираем расширение:
pecl install uploadprogress


При этом с версией 1.0.1 может вылезти баг:

/tmp/pear/temp/uploadprogress/uploadprogress.c: In function ‘get_module’:
/tmp/pear/temp/uploadprogress/uploadprogress.c:478: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See for instructions.
make: *** [uploadprogress.lo] Error 1
ERROR: `make' failed


И что с ней делать... я не знаю :( Баг не исправлен. В итоге собрал на другой системе той же версии той же архитектуры и скопировал бинарик.

Если все ок, то после этого uploadprogress установится в папку расширений к PHP:

ls /usr/lib/php5/20060613+lfs | grep upload
uploadprogress.so


Создаем конфиг-файл:

echo "extension=uploadprogress.so" > /etc/php5/conf.d/uploadprogress.ini


Убеждаемся, что модуль подключился успешно:

php -m | grep upload
uploadprogress


Перезапускаем Апача:

/etc/init.d/apache2 restart

4 comments :

  1. Это случайно не тот, который требует APC?

    Как я понимаю, при нем прием upload-а самим nginx-ом с его sendfile-ом идет лесом. Принимает бэкэнд со всеми вытекающими. А?

    ReplyDelete
  2. Да, он. Сендфайл при аплоадинге скрипту итак идет очень далеко.

    ReplyDelete
  3. sudo apt-get install make
    :-)

    ReplyDelete
  4. Команду pecl install uploadprogress пришлось снабдить опцией --alldeps.

    ReplyDelete

Note: only a member of this blog may post a comment.