PHP5.3.3のインストール
PHP5.3.3のインストール方法(ソース)~その1~ |
●インストール環境
OS | fedora13 |
PHP | php-5.3.3.tar.gz |
インストール先フォルダ | /usr/local/httpd-5.3.3 /usr/local/phpにシンボリックリンクを貼る |
Webサーバー | Apache http Server 2.2.16 |
データベース | MySQL 5.1.50 |
php.iniのパス | /usr/local/php-5.3.3/lib/php.ini |
拡張モジュール | mbstring、GD、iconv、mysql、mysqli、 |
●インストール
1.※事前に下記がインストールされているか調べる。無ければインストールする
PHPのインストールと実行にはflex、libxml2が必要
※5.2、5.3ではflexはインストールされてなくても大丈夫でした・・・
GD
ライブラリを有効にするためにはzlib、libpng、libjpegが必要
# rpm -qa flex # rpm -qa libxml2-devel # rpm -qa libjpng-devel # rpm -qa libjpeg-devel # rpm -qa zlib-devel # yum install flex # yum install libxml2-devel # yum install libjpeg-devel # yum install libpng-devel # yum install zlib-devel |
2.PHPが既にインストールされていないか調べる
インストールされていたらアンインストールする
(※依存するパッケージも削除されてしまうので注意してください)
# rpm -qa php # yum remove php |
3.root権限に移る
$ su – |
4./usr/local/srcにソースファイルをダウンロー ド
# wget -P /usr/local/src http://jp.php.net/distributions/php-5.3.3.tar.gz |
5./usr/localにインストールする為フォルダを作成
# mkdir /usr/local/php-5.3.3 |
6.ソースファイルが置いてある場所へ移動
# cd /usr/local/src |
7.ソースファイルを展開
# tar xvfz php-5.3.3.tar.gz |
8.展開されたフォルダへ移動
# cd php-5.3.3 |
9.設定
実際は事前に追加・削除するモジュール検証してからインストールした方が良いかと・・・
# ./configure –prefix=/usr/local/php-5.3.3 –with-apxs2=/usr/local/httpd-2.2.16/bin/apxs –enable-mbstring –with-gd –with-mysql=/usr/local/mysql-5.1.50 –with-mysqli –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd –with-jpeg-dir –with-iconv |
|
10.コンパイル
※コンパイルに失敗してやり直す場合は make
clean を実行しconfigureからやり直す
# make |
11.インストール
# make install |
12./usr/local/php
としてアクセスできるようにシンボリックリンクを作成
# ln -sfn /usr/local/php-5.3.3 /usr/local/php |
※/usr/local/httpd-2.2.16/modules/libphp5.soがインストールされ、
httpd.confに「LoadModule php5_module
modules/libphp5.so」が追記されている
●httpd.confとphp.iniの設定
5.3から雛形が変わってます
php.ini-development:開発環境で推奨される設定がある
php.ini-production
は本番環境向けに設定されている
13.ソースフォルダ内のphpの設定ファイルの雛形を/usr/local/php-5.3.3/lib/php.iniへコピー&リネーム(デフォルト値は
–prefixオプションのパス/lib)
# cp /usr/local/src/php-5.3.3/php.ini-development /usr/local/php-5.3.3/lib/php.ini |
14.apacheのhttpd.confを編集する
※表示の都合で<>が全角になっています。コピペする場合は半角にして下さい
phpモジュールをロードする。下記があるか確認。無ければ追記
LoadModule php5_module ——————————————————————————————————– PHPIniDir ——————————————————————————————————– <IfModule dir_module> ——————————————————————————————————– AddType application/x-httpd-php 下記も同じ意味合い。どれか書いておけば大丈夫 AddHandler application/x-httpd-php ——————————————————————————————————– AddType application/x-httpd-php-source ——————————————————————————————————– <FilesMatch \.php$> ——————————————————————————————————– <FilesMatch “\.phps$”> ——————————————————————————————————– <FilesMatch “\.php$|\.phps$”> |
14.php.iniを編集する(主に変更する箇所を抜粋。必要な部分を変更する)
公開フォルダのパスを指定
doc_root ——————————————————————————————————– expose_php = On ——————————————————————————————————– E_ERROR:重大な実行時エラー E_WARNING:実行時の警告 E_NOTICE:実行時の警告。エラーを発しうる状況に遭遇したことを示す。変数が初期化されていない時などに出るエラー E_PARSE:コンパイル時のパースエラー。パースエラーはパーサでのみ生成される E_STRICT:コードの相互運用性や互換性を維持するためにPHPがコードの変更を提案する(PHP E_DEPRECATED:実行時の注意。これを有効にすると、将来のバージョンで動作しなくなるコードについての警告を受け取ることができる(PHP E_ALL:サポートされる全てのエラーと警告。 E_STRICT ※5.3ではE_DEPRECATEDのエラーが追加されているのでスクリプトによってはDEPRECATEDエラーが多発します 設定例) E_DEPRECATEDとE_STRICTを除く全て 全てとE_STRICTのエラー E_NOTICE、E_STRICT以外の全てのエラー E_ERRORとE_WARNINGとE_PARSE error_reporting = ——————————————————————————————————– display_errors = ——————————————————————————————————– log_errors = ——————————————————————————————————– ;error_log = php_errors.log ——————————————————————————————————– ;default_charset = “iso-8859-1” ——————————————————————————————————– ;mbstring.language = Japanese ——————————————————————————————————– ;mbstring.internal_encoding = EUC-JP ——————————————————————————————————– ;mbstring.http_input = auto ——————————————————————————————————– ;mbstring.http_output = SJIS ——————————————————————————————————– ;mbstring.encoding_translation = Off ——————————————————————————————————– ;date.timezone = ——————————————————————————————————– ;session.save_path = “/tmp” ——————————————————————————————————– ;session.use_cookies = 1 ——————————————————————————————————– session.use_only_cookies = ——————————————————————————————————– mysql.default_socket = ——————————————————————————————————– mysqli.default_socket = ——————————————————————————————————– pdo_mysql.default_socket= |
15.Apacheの再起動
# /usr/local/httpd/bin/apachectl restart |
起動スクリプトを使用している場合
# /etc/init.d/httpd stop |
16.phpの動作確認
下記のPHPスクリプトを作る
Apache公開フォルダにinfo.phpで保存する
※表示の都合上タグ<>は大文字になってます。コピペしないでください
<?php phpinfo(); ?> |
ブラウザから『http://localhost/info.php』でアクセスする
下記のように表示されればOK
Posted in Linux