徒然なるままに

個人の備忘録を中心としたブログです

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
(注)
また、このエントリーは適当に試行錯誤した結果、うまくいっちゃった程度の内容が含まれます。
備忘録として試行錯誤を書き残しては置きますが、あくまで参考程度にしてください。

一応、原因が分かりました。

Apacheやmysqlが組み込まれていることを前提とします。

公式:http://www.php.net/manual/ja/install.unix.apache2.php
のやり方にそってインストールしましょう。

wget http://www.php.net/get/php-5.4.13.tar.gz/from/a/mirror
mv mirror php-5.4.13.tar.gz


MySQLのデータと連動させて、グラフを描くためにいろいろオプションを指定しています。
configureオプションは、http://phpspot.net/php/pgUNIX%E7%92%B0%E5%A2%83%E3%81%B8%E3%81%AEPHP5%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB.htmlを使わせてもらいました。
とりあえずPHPプログラムが実行できればいいというのであれば、--with-zlib-dir以降を削除しても構いません。

GDに関しては、PHP5にバンドルされているものを使うとします。

$ sudo ./configure --with-apxs2=/usr/local/apache/bin/apxs --enable-mbstring \
--enable-mbsrt-enc-trans --enable-mbregex --enable-trans-sid --with-mysql=/usr/local/mysql \
--with-zlib-dir=/usr/local/lib --with-png-dir=/usr/local/lib --with-jpeg-dir=/usr/local/lib \
--with-freetype-dir=/usr/local/lib --with-gd --enable-gd-native-ttf --with-pdo-mysql=/usr/local/mysql


エラーが出たら求められているライブラリをインストールする必要があります。
本来はソースから/usr/local/あたりに一つ一つインストールするべきなのでしょうが
ライブラリの数が多いのでめんどうくさくなって
php5-gd,libxml2-dev,libjpeg-dev,libpng++-dev,libfreetype6-dev辺りを「pt-get install」したらなんかできてしまった。
もちろん/usr/local/libにインストールされている様子はない。

(追記)
configureで/usr/includeを勝手に読んでくれていたみたい。/usr/include/freetype2/freetype,/usr/include/libpng,/usr/include/libpng2などなど。
つまり、configureでのインクルードパス指定は形骸化していたわけですね


まあ通ったなら一度インストールしてみるかとういことで
$ sudo make
$ sudo make install


make時に早速エラー:fatal error: libxml/parser.h: no such file or directory
libxml2はちゃんとソースからインストールしたはずなんだけど・・・。
実行時のインクルードパスを見ると-I/usr/local/include/libxml2とあり、
結果は自分がlibxml2を/usrにインストールしていたのが悪かったみたい。
cp /usr/include/libxml2 /usr/local/include/libxml2

したら通りました。

(追記)
そう。makeさんは/usr/includeを読んでくれていなかったのです^^
Makefileを見ると CFLAGS_CLEAN = -I/usr/include -g -O2 -fvisibility=hidden
の記述はあるのですが、また別なのでしょうね。


info.phpを以下の内容で作成。
<?php phpinfo(); ?>

info.phpをApacheのDocRootにおいて
Apacheの再起動をかけて、いろいろ情報が出ればPHPのインストールはOK。

gdについてのオプションでsupport JPEGやsupport PNGなどがOKになっていることを見ておきましょう。


(追記)
そもそも、ライブラリをソースから入れるのに躊躇したのは
PHP5にバンドルされていないGDを使おうとしていたからです。
GDライブラリの公式ではソースの公開を停止しており、
各ディストリビューションでパッケージからのインストールを推奨しています。
ソースはあるようなのですが、現在フォーラムのような形で有志が更新しているのか
configureがなく、cmakeを使うような形になっていたよう?なので導入時に不安が残り見送ったというわけです。

余裕が出来たので、http://d.hatena.ne.jp/rougeref/20070208を参考にさせてもらい
後から試しにlibpngを入れてみましたが普通にうまくいったので、残りの三つもソースからインストールすればよかったと思います。
その場合libjpeg,libpng,freetype2について、configureの際に--enable-sharedを忘れずに。
これを忘れるとphp5のconfigureで怒られてしまいます。

libpngのソースコードの場所だけ分かりにくかったのでおいておきます。
http://www.libpng.org/pub/png/libpng.html


(参考にしたサイト)

http://www.gadgety.net/shin/tips/unix/php-gd.html




コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://kamiyasu2.blog.fc2.com/tb.php/25-4d41ca97

kamiyasu

Author:kamiyasu

QR

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。