やきにくとくにきや

WEBサービスとイベントに夢見るエンジニアの技術メモ、チラシの裏。そして焼肉。

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

 - PHP