понедельник, 26 марта 2012 г.

Проблема с загрузкой/отображением 24-битных bmp-файлов загружаемых через Apache

Столкнулся с проблемой когда не возможно загрузить 24-битные bmp-файлы через Apache, именно 24-битные, 8-битные отображаются нормально.
Пробовал обновлять Apache но безрезультатно.

> CentOS release 5.6 (Final)
> Apache/2.2.22

Решение:
Использовать модуль mod_deflate.
Он архивирует на лету все файлы указанных типов.
При этом мы выигрываем в количестве трафика, так как bmp хорошо архивируется.

<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE image/bmp
  <IfModule mod_setenvif.c>
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  </IfModule>
</IfModule>


четверг, 1 марта 2012 г.

bash - несколько приемов

# x="/foo/fizzbuzz.bar.quux"
# y=${x%.*}
# echo $y
   /foo/fizzbuzz.bar

# y=${x%%.*}
# echo $y
   /foo/fizzbuzz

# x="/foo/b/g/fizzbuzz.bar"
# echo ${x##*/}
   fizzbuzz.bar
 

Установка php53-mcrypt в Centos 5.6

В Centos 5.6 больше не поддерживается модуль mcrypt для php53, так что придется ставить его вручную

 # yum install php53-devel libmcrypt-devel

Качаем с сайта http://php.net/releases/ архив с исходниками необходимой нам версии php и распаковываем его.

Далее по плану:
# cd /path/to/src/php5.3.*/ext/mcyrpt/
# phpize
# aclocal
# ./configure
# make
# make install

После добавляем файлик /etc/php.d/mcrypt.ini  с содержимым extension=mcrypt.so
Перезапускаем apache