PHPの初期設定をしてみた
今日はLinux(ubuntu)上でPHPを動作させるための初期設定で行ったことをまとめたいと思います。
基本的に設定することはあまりないのですが、こういうちょっとした細かいことって忘れてしまいそうなので。。。
php.iniの設定
php.iniの設置場所を確認する
インストールした状態のままだと、日本語の設定としてはちょっと足りないというか中途半端だそうなので変更したいと思います。
私のようにlampでインストールしてる人は、/etc/php/7.0/apache2にphp.iniがあるはずなのでまずは存在を確認します。
ありますね。これをvimで開いて編集しちゃいましょう。
default_charsetの設定
文字コードはUTF-8を使っていきたいと思いますので、この設定になっているか確認します。
ここで、vimの使い方ですがやはりこういうファイル内では検索したいですよね。
vimにもこういう機能があるはず。ということでググったらありました。
/[検索文字列]・・・・・検索文字列をカーソルのある位置より下方向に検索
?[検索文字列]・・・・・検索文字列をカーソルのある位置より上方向に検索
n・・・・・・・・・・/や?で検索したのちに次の候補に飛ぶ
N・・・・・・・・・・/や?で検索したのちに前の候補に飛ぶ
こんなところでしょうか。
なので、vimのコマンド上で/default_charsetと打てばそこまで飛べます。
私の場合は最初からUTF-8なってましたね。
date.timezoneの設定
サイトを運営したりする中でもしかしたら時刻情報を取り扱うかもしれませんね。
例えば会員制のサイトならログイン日時の管理なんかに使ったりします。
その基準となる時間帯をdate.timezonで設定します。
検索してみたら、「;date.timezone=」となっていて無効化されていました。
なので日本時間にするために「date.timezone=Asia/Tokyo」としました。
mbstringを設定する
日本語文字はマルチバイトなので、それに関する設定をmbstringで行います。
私が設定した個所は以下の通りです。
mbstring.language
デフォルトの言語を日本語にします。
mbstring.encoding_translation
HTTP入力動作上での変換を有効にします。
セキュリティについて
今のところ、ここで作ったサイトを外部に公開予定はないのであまり気にするところではありませんが今後のためにちょっとまとめておきます。
session.sid_length
セッションIDの文字列の長さを22~256の範囲で指定できます。
デフォルトだと22です。また、php.iniにはこの記載はありませんので加えてあげる必要があります。
sessionに関する設定は「/session.」で検索すればたくさん出ますのでその近辺に書いてあげるといいかもしれません。
session.sid_length = 50
みたいな感じで定義します。
セッションの情報が抜き取られないようにするためにはこの辺はデフォルトじゃないほうがいいですよね。
PHP7.1以降から対応しているようです。
必要性を感じるのであればアップグレードしておくといいですね。
私はまだ7.1に及んでいないのでそのうちやろうと思います。。。
PHPの動作確認
PHPのファイルを作ってみる
Apache2が導入された時点ですでにサイトが立っているので、そいつを利用してPHPの動作確認をしてみましょう。
まず、デフォルトのサイトのDocumentrootを確認します。
これは/etc/apache2/sites-availableの000-default.confに設定されています。
この場合だと「/var/www/html」ですね。
ここにはすでにindex.htmlがあるので、一つディレクトリを作ってその中にtest.phpを作ってみます。
流れとしては、
$ cd /var/www/html $ mkdir test $ cd test $ touch test.php $ vi test.php
って感じですね。
mkdirでディレクトリを作り、touchでファイル作成です。
作成したPHPファイルにはこのように記載します。
<?php phpinfo(); ?>
これはPHPのバージョン情報などを出力する関数で、テストによく用いられるそうです。
PHPの記載の仕方ものタグ内で定義して記載するんですね!
javaやC#と同じように行の末尾は「;」を使うようです。
これでさっそく見れるかどうか試してみましょう。
と、その前にいろいろPHPの設定を変えたのでApacheを再起動しておきます。
$ sudo service apache2 restart
PHPをブラウザで確認
さっそく見れるかどうか確認してみましょう。
Documentrootにtestディレクトリを作成し、その中にtest.phpを作成したので、URLは
http://localhost/test/test.php
になりますね。
はい、見れますね!
とりあえず今日はここまでにして、次回以降でもう少しスクリプトを書いていこうと思います。