| Home |     [php ]

2011.08.03

php-gdのインストール

Word Pressをインストールして使い心地を試していたら、画像をアップロードしたとき、表示画像をサムネイル、中サイズ、大サイズ、フルサイズに切り替える選択ができないことに気がついた。
調べると、php-gdのインストールが必要とわかった。php52をインストールしていたので/usr/ports/graphics/php52-gdに移動してインストールを試みたが、autoconfがどうとかというエラーとなってインストールできなかった。そこで、php52-extensionsから入れ直しを行った。

1. php52-extensionsのインストール

まず、/var/db/ports/php52-extensions/optionsを削除して、/usr/ports/lang/php52-extensionsに移動してMakefileを編集する。

# rm /var/db/ports/php52-extensions/options
# cd /usr/ports/lang/php52-extensions
# vi Makefile
WITH_CTYPE=     yes
WITH_DOM=       yes
WITH_FILTER=    yes
WITH_GD=          yes    ← 追加
WITH_HASH=      yes
WITH_ICONV=     yes
WITH_JSON=      yes
   ・
   ・
 その後、
# make install clean

途中で、またGDを選択する画面が現れるので、必ず選択しておく。もちろん、MySQL、multibyteも選択する。なお、すでにphp52-extensionsがインストールされているので、最後のところでエラーとなる。そこで、make deinstallして再度Make install cleanを実行する。

# make deinstall
# make install clean

2.php-gdのインストール

php-gdの使用を可能とするphp52-extensionsがインストールできたので、php52-gdをインストールする。

# cd /usr/ports/graphics/php52-gd
# make install clean

3. Word Pressでの確認

下図のようにサイズは、指定可能となった。なお、画像のサイズの指定(中サイズ:330 x 247等)は、メニューの「設定」→「メディア」で変更できるので、自分のブログ画面の都合でサイズをプリセットしておくと便利である。

imagepost.jpg

2006.12.17

php5-5.2.0のインストール

(2012/1/30 FreeBSD 9.0へのインストールにともない以前の記述に加筆修正した)

mysqlのインストールが、なんとか終了したので、次にphpを入れることとした。

このphpも言語指定、2バイト文字の処理、perl互換の正規表現処理で幾度か苦労した。
まず、portsを最新にしてから/usr/ports/lang/php52に移動し、make configでオプションを指定

# cd /usr/ports/lang/php52
# make config

ここで、少なくともAPATCH, MULTIBYTEにチェックマークを入れ、

# make install clean

次いで、phph52-extensionsに移動してmake config

# cd ../php52-extensions
# make config

ここで、DBASE, MBSTRING, MYSQL, PCREにチェックを付けインストール

# make install clean

途中でエラーが出て、make deinstallしてmake installをやり直すか、FORCE_PKG_REGISTERをコマンドラインに使えとメッセージがでることがある。
make deinstallしてもinstallがうまく行かないので、FORCE_PKG_REGISTERを使って

# make FORCE_PKG_REGISTER=1 install

とするとうまく行った。

ここで、/usr/local/etcにあるphp.ini-distをphp.iniに名前を変えて編集

# cd /usr/local/etc
# cp php.ini-dist php.ini
# chmod +w php.ini
# vi php.ini

まず、Language OptionsのShort oen tagをOnに修正

short_open_tag = On
   これでphp文の始まりの<?phpを<? で済ませられる。 

次に[mbstring]の項目を下記に修正

[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = EUC-JP
mbstring.encoding_translation = On
mbstring.detect_order = auto

ここで、Apacheのhttpd.confのLoadModuleに下記の1行が追加されていることを確認し、AddTypeとしてphpを追加

LoadModule php5_module        libexec/apache2/libphp5.so ← 確認
    Addtype application/x-httpd-php .php ← 追加

そして、apacheを再起動し、check.phpの名前で以下の1行を書いたファイルを作りwebから見える位置においてアクセス。

<?php phpinfo(); ?>

phpの設定状態の表示画面が出て、無事成功。mbstringの項目も表示されていることも確認する。