研修(PHPインストール)
条件。
・php-5.2.11をインストール。
→php-5.2.9でした。
・マルチバイト文字列を使用可能に。
・プログラム文字コードはUTF8、ブラウザ出力はSJIS
・PEARを使用可能にする。
PHP
Webページ作成のためのプログラミング言語。
動的にHTMLデータを生成、動的なWebページを実現。
ブラウザで入力した情報を使ってユーザー登録、計算など
色々出来、HTMLソース内に記述出来る。
1.phpインストール準備
インターネットからファイルをダウンロードして解凍。
ダウンロード先は/usr/local/src/
[sato@sato ~]$ su パスワード: [root@sato src]# wget http://jp.php.net/get/php-5.2.9.tar.gz/from/this/mirror [root@sato src]# tar xzf php-5.2.9.tar.gz [root@sato src]# cd php-5.2.9
2.phpインストール
コンパイル→インストールの流れ。
コンパイル時にマルチバイト文字を有効にする。
[root@sato php-5.2.9]# ./configure --disable-debug \ --with-apxs2=/usr/local/apache2/bin/apxs \ --with-iconv --enable-mbstring --enable-zend-multibyte \ ・ ・ ・ +--------------------------------------------------------------------+ | *** WARNING *** | | | | You will be compiling the CGI version of PHP without any | | redirection checking. By putting this cgi binary somewhere in | | your web space, users may be able to circumvent existing .htaccess | | security by loading files directly through the parser. See | | http://www.php.net/manual/security.php for more details. | +--------------------------------------------------------------------+ | License: | | This software is subject to the PHP License, available in this | | distribution in the file LICENSE. By continuing this installation | | process, you are bound by the terms of this license agreement. | | If you do not agree with the terms of this license, you must abort | | the installation process at this point. | +--------------------------------------------------------------------+ Thank you for using PHP. [root@sato php-5.2.9]# make [root@sato php-5.2.9]# make install
make にかなりの時間がかかった
--with-apxs2=/usr/local/apache2/bin/apxs:
apxsコマンドのパスを指定
--with-iconv --enable-mbstring --enable-zend-multibyte:
マルチバイト文字列に対応
初めてOSにThank youって言われた。
※libphp5.soについて
./configureで何もオプションを付けずにインストールすると
/usr/local/apache2/modules/libphp5.so
これがインストールされず、ブラウザでphpが開かずダウンロードされる現象が起きる。
必ず設定すること。
3.phpの設定
文字コードなどを設定するために設定ファイルをいじる。
設定ファイル php.ini は php.ini-dist をコピーしてからいじる。
[root@sato php-5.2.9]# cp /usr/src/php-5.2.9/php.ini-dist /usr/local/lib/php.ini [root@sato php-5.2.9]# vi /usr/local/lib/php.ini
編集内容
* output_buffering = On : 出力バッファリングを有効
* output_handler = mb_output_:handler : 出力の変換を有効にするためにmb_output_handlerを指定
* default_charset = Shift_JIS : デフォルトの文字コード指定
* extension = php_mbstringdll : マルチバイト文字列を有効
* mbstring.language = Japanese : mbstringで使用される言語のデフォルト値
* mbstring.internal_encoding = UTF8 : 内部文字エンコーディング(プログラム側)のデフォルト値
* mbstring.http_input = auto : HTTP入力文字エンコーディングのデフォルト値
* mbstring.http_output = SJIS : HTTP出力文字エンコーディングのデフォルト値
* mbstring.encoding_translation = On : HTTP入力文字エンコーディング検出および内部文字エンコーディングへの変
換
* mbstring.detect_order = auto : 文字コード検出のデフォルト値
* mbstring.substitute_character = none; : 無効な文字を代替する文字
[root@sato php-5.2.9]# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t libphp5.so [root@sato php-5.2.9]# vi /usr/local/apache2/conf/httpd.conf
編集内容
Dynamic Shared Object (DSO) Supportのところ
LoadModule php5_module modules/libphp5.so←libphp5.soの場所指定
<IfModule mod_dir.c>のあたり
DirectoryIndex index.html index.php←index.phpを追加
AddType application/x-httpd-php .php←追記
AddType application/x-httpd-php-source .phps←追記
これで設定終了。apacheを再起動。
php確認用のファイル作成。
# vi /usr/local/apache2/htdocs/phpinfo.php <?php phpinfo(); ?>
ブラウザで確認→phpのバージョン確認ページが表記。
あとは日本語を表示するphpファイルを作ってブラウザで見る。
文字コードの変換の確認のため。
文字化けが出たら文字コードの変換がうまくいっていないので。
php.iniのoutput_handlerを確認。
。。。案の定、タイプミス。
修正後、確認したら文字化けはなし。
これでphpのインストールともろもろの設定が完了。
今回はlibphp5.soでだいぶつまづいた。
単純にインストールするだけでなくて、
必要なファイルが何かを事前に調べる必要がある。