カテゴリー別アーカイブ: PHP

【PHP】PHPをインストールしたらやっておきたい設定

Webアプリケーションを開発を行う前には、LAMP環境という環境を構築する必要があります。
LAMP環境のうち、アプリケーションの動作を制御するために利用するPHPというプログラム言語に関して、やっておきたい基本的な設定について紹介します。

前提

  • CentOS6.5で動作確認をしています。
  • 初心者を想定して記述しているドキュメントとなっています。
  • 開発用サーバとして動かすこと前提に記述しています。

PHPの設定を編集

PHPの設定は/etc/php.iniという設定ファイルによって行われています。
そのため、下記ではphp.iniというファイルを編集することによって、PHPの設定を変更していきます。

オリジナルphp.iniをバックアップ

エラー表示の設定を変更

  • error_reportingの設定を変更
    error_reporting = E_ALL | E_STRICT (開発環境においてはSTRICTを含めたすべてのレポートをさせる)
  • display_errorsの設定を変更
    display_errors = On (エラーがあった際にブラウザなどにエラー内容を表示するように設定)
  • log_errorsの設定を変更
    log_errors = On (エラーログを吐く設定を有効にしておく)
  • error_logの設定を変更
    error_log = /var/log/php.log(phpに関連するエラーログを/var/log/php.logに吐くように設定)

文字コード関連の設定

  • default_charset = “UTF-8″
    文字コードをUTF-8を利用するように設定
  • mbstring.language = Japanese
    日本語が利用できるように設定
  • mbstring.encoding_translation = Off
  • mbstring.detect_order = auto

メモリ管理に関する設定

  • memory_limit = 32MB
    PHPの1プロセスが利用可能なメモリー容量の設定。
  • post_max_size = 16M
    POSTのリクエストを受け付ける際の、最大のPOSTリクエストサイズを設定
  • upload_max_filesize = 8M
    ファイルアップロードを受け付ける際の、最大のファイル受付サイズを設定

セキュリティに関する設定

  • expose_php = Off
    これがOnだとレスポンスヘッダにPHPのバージョン情報などが露呈してしまう
  • session.hash_function = 1
    セッションID発行のハッシュアルゴリズムをSHA-1(160bit)へ変更, 0だとMD5(128bit)。生成されたハッシュを32桁にしたい場合は、併せてsession.hash_bits_per_character = 5とする
  • session.entropy_file = /dev/urandom
    /dev/urandomが存在するときのみ
  • session.entropy_length = 32

その他の設定

  • short_open_tag = Off
    PHPファイルのタグをのみ利用可能と制限(などを使用不可にする)
  • register_argc_argv = On
    バッチのようなコマンドラインプログラムを書く場合は必須の設定
  • max_execution_time = 30
    PHPプログラムの1つの最大実行時間の設定。これも大きなファイルアップロードや大きいバッチ処理がある場合はプログラム側のini_set()などで随時設定する

変更した設定を読み込み

php.iniでの設定はApacheを再起動することによって再読込されるので、Apacheを再起動します。

まとめ

上記でPHPをインストールし、開発環境として利用する上での最小限の設定は完了です。
詳細な設定内容についてはより調べていただくか、『パーフェクトPHP』の12章などに詳しいので、参考にしてみてください。

【CensOS, LAMP環境】仮想マシンにLAMP環境を構築する

PHPでのWebアプリケーションを開発を行う前には、LAMP環境という環境を構築する必要があります。
前々回記事前回記事で、仮想マシンの構築・基本的な開発ツールのインストールなどのプロセスは完了しているため、
今回はApache, MySQL, PHPのインストールを行い、PHPでのWeb開発環境構築を行う方法を紹介します。

前提

  • CentOS6.5での動作検証を行っています(Scientific Linuxなど、RHEL系であれば基本的に同様です)
  • 下記のコマンドはすべてroot権限で行ってください。
  • 今回は最もシンプルに、CentOSのデフォルトでインストールされるPHP、MySQLバージョンでの環境構築プロセスの紹介です

関連記事

下記のCentOSでの仮想マシンの構築、基本的な設定の構築が終わった状態で、本記事のLAMP環境構築のためのプロセスを行って頂けると、PHP・MySQLを利用したWeb開発環境の構築の完了です。

【Vagrant, CentOS】VagrantでCentOSをインストール
【CentOS, LAMP】仮想マシンを立てたら最初にやっておきたい設定

Apacheをインストール

Apacheをインストール

Apacheを起動

Apacheの自動起動設定を行う

その他参考

【Apache】Apacheをインストールしたら知っておきたい設定項目

MySQLをインストール

MySQLをインストール

MySQLを起動

MySQLの自動起動を設定

MySQLの初期設定

下記「【MySQL, 開発環境】MySQLのインストールと初期設定」を参考にして下さい。

その他参考

【MySQL, 開発環境】MySQLのインストールと初期設定

PHPをインストール

PHP関連パッケージをインストール

その他参考

【PHP】PHPをインストールしたらやっておきたい設定

まとめ

以上で基本的なLAMP環境の構築プロセスは完了です。
次回は同様のLAMP環境の構築プロセスですが、最新のPHPのバージョン・最新のMySQLのバージョンを利用したLAMP環境の構築方法についてもご紹介したいと思います。