php-gdでアンリエイリアスをかけようとしてCall to undefined function imageantialias()が出る
2016/04/04
phpのgdで線を斜めに描いていると結構ガクガクして見栄えが悪い
そこでimageantialias()というアンチエイリアスをかける関数を使おうと思ったらエラーが出た
gdが使えるか調べる
[root@vagrant-centos65 ~]# php -m | grep -i gd
gd
imageantialiaが使えるか調べる
[root@vagrant-centos65 ~]# php -r "var_dump(function_exists('imageantialias'));"
bool(false)
調べたところ、remiとかubuntuでバンドルされたgdを入れるとimageantialiasが使えないバージョンのものが入るらしい。
webtaticのリポジトリでPHP周りを入れたサーバは運よく対応してたので、WEBtaticを使って入れなおす。
http://www.webdesignblog.asia/web-design/hosting/install-php-gd-on-ubuntu-without-recompiling-php/#sthash.AUFBaMQn.dpbs
http://nossie.addicts.nl/php5-gd.html
# webtaticリポジトリを追加
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
yum info php56w*
# インストール
yum install php56w
yum install php56w-devel php56w-mbstring php56w-fpm php56w-mysqlnd php56w-gd php56w-pecl-msgpack php56w-redis php56w-ssh2
pecl channel-update pecl.php.net
pecl install redis
vim /etc/php.d/redis.ini
# タイムゾーン設定
vim /etc/php.ini
date.timezone = Asia/Tokyo
# phpリスタート
service php-fpm restart
もう一度imageantialiasが使えるか確認する
[root@vagrant-centos65 ~]# php -m | grep -i gd
gd
[root@vagrant-centos65 ~]# php -r "var_dump(function_exists('imageantialias'));"
bool(true)
今度はtrueが使えるようになっているのでOK