LoginSignup
0
0

More than 5 years have passed since last update.

Call to undefined function imagettftext() が解消しない時にはPHPのインストール先を疑う

Posted at

PHPにモジュールを追加インストールしたい

OS X El Capitan には最初から入ってるPHPだとモジュールが少し足りない。ということで、brewで追加モジュールをインストールする。

例えば以下のQ&Aのように、brewでインストールしなさいとある。
http://stackoverflow.com/questions/26493762/yosemite-el-capitan-php-gd-mcrypt-installation

ところが、コマンドラインからPHPのCLI版を実行しても、imagettftext は見つからない。これって単独のモジュールじゃなくて、GDの中の機能の一部だから、GDのバージョンかなにかかと思って、他にも、足りないはずのmcryptもbrewから入れてみたが入らない。

おかしいなー、怖いな怖いなーと思って、iniファイル上の、extention=mcrpypt.so がコメントアウトでもされてるのかと思って、/etc/php.ini を見ても、.soがロードされている気配もなく、.dllのコメントばかり。

よくよく、brewのインストール後のコメントをみたら。

To finish installing mcrypt for PHP 5.5:
  * /usr/local/etc/php/5.5/conf.d/ext-mcrypt.ini was created,

??ちょっとまてと。そっか、/etc/配下ではなく、/usr/local配下のPHPに入ってる。じゃぁ、それってPHP自体も想定とは違うかも。

と思って探すと。/usr/bin/php と /usr/local/bin/php の両方に入っていました。デフォルトは、/usr/bin/php を参照しちゃうので、 /usr/local/bin/ を先に探すように、.bash_profileの最終行に以下を追加。

export PATH=/usr/local/bin:$PATH

これで、brewで入れたPHPがターミナルから参照されてめでたしめでたし。

brewがあまりに便利なので、うっかりOSXの標準機能のように思いがちだけど、デフォルトで入ってるPHPとは別のパスにbrewからはインストールされるのだから、そっちを参照しないと意味ないよねって話です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0