10月 23

PHP GDインストール

By ststyle Install, PHP コメントは受け付けていません。

PHPにて画像関連を扱うためのライブラリのインストール

GD関連ライブラリのインストール

zlib のインストール

su -
cd /usr/local/src
tar xzvf zlib-1.1.4.tar.gz
cd zlib-1.1.4
./configure --shared
make

su
# make install

PNG のインストール

※zlib などの位置を指定するために、Makefile を編集します。


cd /usr/local/src
tar xvzf libpng-1.0.15.tar.gz
cd libpng-1.0.15
cp scripts/makefile.linux Makefile

vi Makefile

-*-*-*-*-*-*-*-*-*-*-*-*-*
ZLIBLIB=/usr/local/lib
ZLIBINC=/usr/local/include
-*-*-*-*-*-*-*-*-*-*-*-*-*

make
make install




<h3>jpeg のインストール</h3>



cd /usr/local/src
tar xzvf jpegsrc.v6b.tar.gz
cd jpeg-6b

次に、configure を実行します。
共有ライブラリもコンパイルしたい場合は、
–enable-shared オプションをつけます。


./configure --enable-shared
make
make install

-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
!!!エラー発生の場合!!!

※そのようなファイルやディレクトリはありません
make: *** [install] エラー 1

::対処法::
libtoolをコピーし実行権限を付与する(エラーでないよといわれる)


cp /usr/local/src/libtool /usr/local/src/jpeg-6b/.
chmod 777 /usr/local/src/jpeg-6b/libtool

/usr/local/man/man1 ディレクトリが存在しない場合は
/bin/install: cannot create regular file `/usr/local/man/man1/cjpeg.1':
No such file or directory
のようなエラーが出ると思います.この場合は
::対処法::
install -d /usr/local/man/man1

-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*


install -d /usr/local/man/man1

もう一回
make install

gd のインストール
最後に、gd ライブラリのコンパイルです。
まず、ソースを展開し、展開したディレクトリに移動します。

cd /usr/local/src
tar xzvf gd-1.8.4.tar.gz
cd gd-1.8.4

以下の//部は実行していません
//TTF、Xpm、FreeType などのライブラリを持っていて、
それらの機能を組み込みたい場合は、Makefile を変更してください。
また、コンパイルオプションを変更したい場合も、
直接 Makefile を変更する必要があります。

//CFLAGS=-O2 -DHAVE_LIBPNG -DHAVE_LIBJPEG -DHAVE_XPM -DHAVE_LIBTTF
//LIBS=-lgd -lpng -lz -lm -ljpeg -lXpm -lX11 -lttf
//変更が終わったら、make します。
//> make

root ユーザになってインストールを行います。


make
make install

あとはPHPインストール時に

configureのオプション指定を行えばOKです。

Tagged with:
10月 20

freetype インストール

By ststyle PHP, freetype コメントは受け付けていません。

freetypeのインストール


# tar xzvf freetype-2.x.x.tar.gz
# cd freetype-2.x.x
# ./configure --enable-shared
# make
# make install
Tagged with:
10月 20

PHP インストール

By ststyle Install, PHP コメントは受け付けていません。

PHPのインストール

公式サイトからPHPのソースファイルをダウンロードします.

ソースディレクトリに配置します(/usr/local/src等)

※オプションに明記しているモジュールは事前にインストールを済ませておく必要があります。

※gettext, ftpはnagiosQLで使用


cd /usr/local/src
wget http://jp.php.net/get/php-5.3.0.tar.gz/from/this/mirror
tar xvzf php-5.3.0.tar.gz
cd php-5.3.0

'./configure' \
'--with-apxs2=/usr/local/apache/bin/apxs' \
'--with-pgsql=/usr/local/pgsql' \
'--with-mysql=/usr/local/mysql' \
'--with-zlib' \
'--with-zlib=/usr' \
'--with-zlib-dir=/usr/local/lib' \
'--with-gd' \
'--enable-gd-native-ttf' \
'--with-jpeg-dir=/usr/local/lib' \
'--with-freetype-dir=/usr/local/lib' \
'--with-png-dir=/usr/local/lib' \
'--enable-mbstring' \
'--enable-mbregex' \
'--enable-zend-multibyte' \
'--enable-shared' \
'--enable-calendar' \
'--enable-exif' \
'--enable-pcntl' \
'--enable-bcmath' \
'--enable-ftp' \
'--enable-sockets' \
'--with-gettext' \
;

'--with-oci8-instant-client=/usr/lib/oracle/11.1/client/lib/' \

make

make install

PHPの再コンパイル


.configure .......................

make clean
make
make install
Tagged with:
10月 15

PHPをcron(コマンドライン)で実行

By ststyle PHP コメントは受け付けていません。

PHPをcron(コマンドライン)で実行

やり方は2パターンあります。

1]phpスクリプトの行頭にphpプログラムのファイルパスを記述する

#!/usr/bin/php -q
(-q :: Quiet-mode. Suppress HTTP Header output.)

2]phpプログラムにphpスクリプトを引数として渡して実行する

usr/bin/php test.php

PATHが通っていれば

php test.php

ここでは私がいつも行うやり方を備忘録として…

準備

/usr/local/bin/phpだとパスが長いのでちょっとでも短くしたいので

/usr/bin/phpにシンボリックリンクします

まずはリンク先にphpがあるかどうかの確認

</p>

<p style="padding-left: 30px;">su -
cd /usr/bin
find php
find: php: そのようなファイルやディレクトリはありません
<p style="padding-left: 30px;">

※もし既に/usr/bin/phpが存在する場合はrpmなどで
インストール済みの物なのでリネームor削除する

ソースコンパイルでインストールしたPHPで

シンボリックリンクを張る


su -

ln -s /usr/local/bin/php /usr/bin/php

テスト用のtest.phpを作成


#!/usr/bin/php -q
&lt;?php
echo "Hello Test";
?&gt;

実行権限を付与


chmod 700 test.php

#実行してみる
./test.php

→”Hello Test” と表示されればOK!
これをスケジューリングしたい場合には

Cronに登録

(例: 毎日8:00に起動)


crontab -e

00 08 * * * /home/sv01/bash/test.php

引数の受け渡し

PHPをコマンドラインで実行すると、コマンドラインで与えた引数の情報が
$argc、$argvという変数に格納されます。

$argc : 引数の数
$argv : 引数が格納された配列

普通、最低でも引数としてファイル名が指定されているので、

$argc : 1
$argv[0] : ファイル名(パス)

となるはずです。

例えば、
(test.php)

#!/usr/bin/php -q
&lt;?php
for ($i = 0; $i &lt; $argc; $i++) {
echo $i, " : ", $argv[$i], "\n";
}
?&gt;
Tagged with:
10月 06

PHP-自作フレームワーク

By ststyle PHP コメントは受け付けていません。

自作で作成しているフレームワークのindex.php

/**
* index.php
*
* This Source File is Top Page
*
* @copyright Seiji Tsukioka All rights reserved.
* @author    Seiji Tsukioka
* @update    2009-08-14
*/
define (APP_PATH, "../webapp/");
require_once APP_PATH . 'core/LoadManager.class.php';
LoadManager::execute();
Tagged with:
preload preload preload