さて、今回は、phpのインストール手順です。
これができれば、mysqlもインストールできていますから、スクリプトからデータベースを操作できるようになるわけです。
では、早速、インストールしてみましょう。
- 目次
- 履歴
2010年7月17日 初版
phpのバージョンを選択する
まずは、バージョンを選択しなければなりません。
FeeBSD 8.0では、以下のphpのバージョンがports対応しているようです。
- php 4系
portsディレクトリ
- /usr/ports/lang/php4
— php本体
- /usr/ports/lang/php4-extensions
— phpエクステンション
- /usr/ports/lang/php4-overload
— phpオーバーロード
— ※4.2.0以上から使えるようになったクラスのプロパティ、メソッドのオーバーロード機能。
- /usr/ports/lang/php4
- php 5系
portsディレクトリ
- /usr/ports/lang/php5
— php本体
- /usr/ports/lang/php5-extensions
— phpエクステンション
- /usr/ports/lang/php5
ここでは、php 5系をインスールしてみましょう。
もし、どのバージョンが良いか迷ったら、php 5系で良いと思います。
最近のCMSなどは、ほとんどがphp 5系に対応しています。
だんだん、php 4系へ対応されなくなりつつあります。
phpをインストールする
先で決めたバージョンを、FreeBSDでは、おなじみのportsでインストールします。
ここでは、php 5系をインストールします。
- php本体のportsディレクトリへ切り替える
$ cd /usr/ports/lang/php5 $
- php本体をインストールする
$ make BATCH=yes WITH_APACHE=yes WITHOUT_IPV6=yes WITH_OPENSSL=yes install clean ... $
ここで指定すべきは、WITH_APACHEです。これは、apache(WEBサーバー)に対応させるかどうかを指定します。必ず、yesを指定します。
また、WITH_OPENSSLは、SSL(https://などでのアクセス)に対応させるかどうかです。SSLへの対応が不要であれば、ここでの指定は不要です。
make config の画面が自動で表示されることがあります。
その場合も、あせらずに上記で指定してしたものが、確実にチェックされているか確認しましょう。
もし、パラメータを誤って指定してしまったら、再インストールすればOKです。
再インストールは、以下のようにやれば大丈夫です。落ち着いてやりましょう。
・・・と言いながら、筆者は、3回ぐらい失敗しました。$ make deinstall $ make config ... $ make install ... $
- php.iniを編集する
phpの基本設定を編集します。
$ cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini $ chmod 644 /usr/local/etc/php.ini $ vi /usr/local/etc/php.ini ...
デフォルトのphp.iniをコピーして、それを編集します。
編集内容は、下記のとおりです。
expose_php = Off : サーバー上でphpが動作しているかヘッダーへ埋め込むもの(なぜかデフォルトはOn)
max_execution_time = 300 : 変更(スクリプトの実行時間を300秒にする)
default_charset = “UTF-8” : デフォルトの文字コードをUTF8に設定する
upload_max_filesize = 20M : アップロードの最大ファイルサイズを20MBにする
date.timezone = Asia/Tokyo : タイムゾーンを日本に設定する
mbstring.language = Japanese : マルチバイト文字列を日本語に設定する
mbstring.internal_encoding = UTF-8 : マルチバイト文字列のエンコードをUTF8に設定する
mbstring.http_input = auto : マルチバイト文字列の入力を自動にする
mbstring.http_output = pass : マルチバイト文字列の出力を変換しない
mbstring.encoding_translation = On : マルチバイト文字列の自動エンコードをする
mbstring.detect_order = auto : マルチバイト文字列のディテクタを自動にする
mbstring.substitute_character = none : マルチバイト文字列の無効文字列を無視する
編集を終えたら、保存して終了です。
- php エクステンションのportsディレクトリへ切り替える
$ cd /usr/ports/lang/php5-extensions $
- php エクステンションをインストールする
$ make BATCH=yes WITH_BCMATH=yes WITH_BZ2=yes WITH_CALENDAR=yes WITH_CURL=yes WITH_EXIF=yes WITH_FILEINFO=yes WITH_FTP=yes WITH_GD=yes WITH_GETTEXT=yes WITH_IMAP=yes WITH_LDAP=yes WITH_MBSTRING=yes WITH_MCRYPT=yes WITH_MHASH=yes WITH_MYSQL=yes WITH_OPENSSL=yes WITH_SOAP=yes WITH_SOCKETS=yes WITH_XSL=yes WITH_ZIP=yes WITH_ZLIB=yes install clean ... $
ここで指定できるオプションパラメータは、以下のとおりです。
WITH_xxxxx=yesy/no で指定しているxxxxxが、以下の各項目に相当します。で指定しています。
[X] BZ2 bzip2 library support [X] CALENDAR calendar conversion support [X] CTYPE ctype functions [ ] CURL CURL support [ ] DBA dba support [ ] DBASE dBase library support [X] DOM DOM support [X] EXIF EXIF support [X] FILEINFO fileinfo support [X] FILTER input filter support [ ] FRIBIDI FriBidi support [X] FTP FTP support [X] GD GD library support [X] GETTEXT gettext library support [ ] GMP GNU MP support [X] HASH HASH Message Digest Framework [X] ICONV iconv support [X] IMAP IMAP support [ ] INTERBASE Interbase 6 database support (Firebird) [X] JSON JavaScript Object Serialization support [X] LDAP OpenLDAP support [X] MBSTRING multibyte string support [X] MCRYPT Encryption support [X] MHASH Crypto-hashing support [ ] MING ming shockwave flash support [ ] MSSQL MS-SQL database support [X] MYSQL MySQL database support [ ] MYSQLI MySQLi database support [ ] NCURSES ncurses support (CLI only) [ ] ODBC unixODBC support [X] OPENSSL OpenSSL support [X] PCNTL pcntl support (CLI only) [X] PCRE Perl Compatible Regular Expression support [X] PDF PDFlib support (implies GD) [X] PDO PHP Data Objects Interface (PDO) [X] PDO_SQLITE PDO sqlite driver [ ] PGSQL PostgreSQL database support [X] POSIX POSIX-like functions [ ] PSPELL pspell support [ ] READLINE readline support (CLI only) [ ] RECODE recode support [X] SESSION session support [ ] SHMOP shmop support [X] SIMPLEXML simplexml support [ ] SNMP SNMP support [X] SOAP SOAP support [X] SOCKETS sockets support [X] SPL Standard PHP Library [X] SQLITE sqlite support [ ] SYBASE_CT Sybase database support [ ] SYSVMSG System V message support [ ] SYSVSEM System V semaphore support [ ] SYSVSHM System V shared memory support [ ] TIDY TIDY support [X] TOKENIZER tokenizer support [ ] WDDX WDDX support (implies XML) [X] XML XML support [X] XMLREADER XMLReader support [ ] XMLRPC XMLRPC-EPI support [X] XMLWRITER XMLWriter support [ ] XSL XSL support (Implies DOM) [ ] YAZ YAZ support (ANSI/NISO Z39.50) [X] ZIP ZIP support [X] ZLIB ZLIB support
その他、必要なものがあれば、make configで設定するか、make install のパラメータに指定すればインストールできます。
- php エクステンションのpdo mysqlをインストールする
$ cd /usr/ports/databases/php5-pdo_mysql $ make install ... $
extensions.iniに下記を追加します。
$ vi /usr/local/etc/php/extensions.ini ... extension=pdo_mysql.so ...
以下のコマンドを入力してみましょう。
|
もし、何か環境に問題があれば、ここで、エラー表示されます。
もし、あなたのマシンが遅いなら、APCもインストールしておきましょう。
phpの高速化 APCをインストールする
APC(Alternative PHP Cache)とは、PHPの中間コードのキャッシュや最適化を行う拡張モジュールです。
メモリに余裕があるのであれば、APCをインストールすることで高速化が期待できます。
- APCのportsディレクトリへ切り替える
$ cd /usr/ports/www/pecl-APC $
- APCをインストールする
$ make install clean ... $
- Memcacheのportsディレクトリへ切り替える
$ cd /usr/ports/databases/pecl-memcache $
- Memcacheをインストールする
$ make install clean ... $
- extensions.iniにAPCとMemcacheを下記のように追加します。
$ vi /usr/local/etc/php/extensions.ini ... extension=memcache.so extension=apc.so ...
- 最後に動作しているかチェックする。
$ php -r 'echo phpinfo();' phpinfo() PHP Version => 5.2.11 ... apc APC Support => disabled Version => 3.0.19 MMAP Support => Enabled MMAP File Mask => ...
apcが表示されれば、インストールはOKです。
APC Support => disabledとなっていますが、apache経緯で表示させるとAPC Support => enableとなるはずです。
それを変更するには。php.iniを編集します。
|
他に、
|
user_ttl : ユーザキャッシュの有効期限(秒)
mmap_file_mask : MMAPファイル名 キャッシュの置き場所に共有メモリを使わずにMMAPを使う場合に指定 メモリが不足しているマシンには有効
enable_cli : 最適化 それほどの効果はないので、あえて有効(=1)にしなくても良い
また、上記以外にもたくさんのオプションパラメータを指定できます。
詳しくは、 APC 実行時設定 を参照してください。
格安レンタルサーバーでは、このAPCは、もし、インストールできたとしても、ほとんど意味がありません。
それは、格安レンタルサーバーは、みんなで使う共有サーバーが基本ですから、自分が使うメモリを32MBや128MBなど、勝手に確保できないんですね。
しかし、自宅サーバーなら話は違います。
(このあたりが、自宅サーバーのおいしいところで)自宅サーバーは、自分が専有しているのですから、すべての権限は自分で決めれます。 ここで設定しているように128MBと設定すれば、メモリに余裕があれば、思う存分APCの効果を試せます。
実際に試すとわかるんですけど、このAPCは、かなり体感速度が向上します。是非、お試しを。
参考記事:
・「PHPの高速化」
・「PHPの高速化(2)」
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない、検索ができないことがあります。
2012年3月28日, 1:01 AM
[…] http://mercurius.jp/blog/2010/02/05-202354.html http://sakura.off-soft.net/freebsd/freebsd_php.html […]