phpの設定って何をすれば完了?まとめてわかるphp設定について

こんにちは!独学プログラマー&ライターのつぶらやです。

プログラムには設定が多すぎる!
[su_spacer size=”20″]
嘆いている皆さまの声が聞こえます。

phpをインストールしても、動かすまでには色々な設定が必要になります。

その中でも特に重要な部分、悩みそうな部分について今回は書いていこうと思います。

目次

phpインストール後にまず行う設定

phpのインストール後の重要な作業として設定があります。

それを行う先が、php.iniです。

phpをどうやって動かすかという様々な設定が書かれています。
[su_spacer size=”20″]
早速、php.iniの設定方法や置き場所を見ていきましょう。

php.iniの場所

以下のような場所にあったり、なかったりします。

/etc/配下

何故ならばインストールされた場所によって変わってしまうからです。

phpがインストールされているサーバーで以下のコマンドを発行すると見つかります。

php --ini

結果

Configuration File (php.ini) Path: /etc
Loaded Configuration File:         /etc/php.ini
Scan for additional .ini files in: /etc/php.d
・
・
略

[su_spacer size=”20″]
/etcの配下にある事がわかりました。

インストールしたばかりで、php.iniがない場合はひな型から作成します。
以下のような名前で存在しており、種類があります。

php.ini-development・・・(開発環境用)
php.ini-production・・・(本番環境用)

phpをインストールしたフォルダ内にひな形は存在していると思います。

以下コマンドをひな型があるフォルダ内で実行して、/etc配下にphp.iniをコピーします。

cp php.ini-development /etc/php.ini

[su_spacer size=”20″]
これでphp.iniを修正する準備が整いました。

修正する箇所

修正する前にバックアップコピーを取ります。

何か設定ファイルを触る前に、必ずバックアップを取る癖をつけておきましょう。

変更箇所くらい覚えておける!と思っていても、中々どうして忘れてしまうのです…

cp /etc/php.ini /etc/php.ini.bk

[su_spacer size=”20″]
php.iniを元に、php.ini.bkが出来ました。

バックアップが取れたところで、php.iniの設定に入っていきましょう。

環境によって修正が必要な箇所は違ってくるのですが、代表的な確認箇所を書いていきます。

日本語化

これは、きちんと修正しておかないと日本語が表示されません。

文字化けが起こる場合もあります。

まずphp_mbstring.dllを有効にします。

以下のように;が前についていた場合は、コメントアウト=無効になっています

;extension=php_mbstring.dll

[su_spacer size=”20″]

以下のように修正します。

extension=php_mbstring.dll

[su_spacer size=”20″]
続いて、以下の項目についてもコメントアウトしてください。

[su_table]

mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.encoding_translation = On
mbstring.detect_order = auto

[/su_table]

また=の後についている値が違っている場合は、表の値に修正してください。

エラーの設定

エラーをどのレベルで出力させるか、エラーファイルをどこに出力させるかの設定です。

[su_table]

error_reporting = E_ALL エラー表示のレベルの設定。左の例はすべてのエラーを表示します。
display_errors = On Onの場合ブラウザ上にエラーを表示させる。

[/su_table]

phpのエラーについて、詳しくは以下を参照してください。

反映方法

php.iniを変更した場合は、サーバー(nginxやapacheなど)によって反映方法が違います。

apacheの場合

apacheを再起動します。

service httpd restart

[su_spacer size=”20″]

nginxの場合

nginxを再起動する、ではダメなのが罠。

php-fpmを再起動しましょう。

systemctl restart php-fpm

[su_spacer size=”20″]
以上でphp.iniの設定は反映されました。

nginxの設定と実践方法

例として、http://yyyyyyyy.com/のドキュメントルートのtest.phpを実行させたい場合のnginxの設定について書いていきます。

以下、サンプルコードです。また、nginxはインストールされているものとします。

①ドキュメントルートにtext.phpを配置

例として、text.phpというファイルを作成し、内容は以下にしてください。

<?php
echo "今日は晴れです";
?>

ドキュメントルートは、/var/www/ とします。

②www.confを修正

php-fpmの設定変更のためです。

場所は/etc/php-fpm.d/配下にあります。

以下のように変更してください。

変更前

user = apache
group = apache

[su_spacer size=”20″]
変更後

group = nginx
user = nginx

③default.confを修正

/etc/nginx/conf.d/の配下にあります

変更前

root   /usr/share/nginx/html;
index  index.html index.htm;

#location ~ .php$ {
#    root           html;
#    fastcgi_pass   127.0.0.1:9000;
#    fastcgi_index  index.php;
#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
#    include        fastcgi_params;
#}

[su_spacer size=”20″]
変更後

root   /var/www/;
index  test.php;

location ~ .php$ {
     root           /var/www/;
     fastcgi_pass   127.0.0.1:9000;
     fastcgi_index  index.php;
     fastcgi_param  SCRIPT_FILENAME  /var/www/$fastcgi_script_name;
     include        fastcgi_params;
}

[su_spacer size=”20″]

④php-fpmを起動させる

以下のコマンドでphp-fpmを起動させます。

/etc/init.d/php-fpm start

[su_spacer size=”20″]

⑤nginxを再起動

以下のコマンドでnginxを再起動させます

/etc/init.d/nginx restart

⑥text.phpにアクセス

http://yyyyyyyy.com/text.phpにアクセスしましょう。

結果

今日は晴れです

nginxの設定を変更して、目的のファイルの内容を表示させる事が出来ました。

cookieの設定

cookie(クッキー)とは、サーバーからブラウザに保存できる値の事です。

有効期限がくるまでは保存されるため、一度ブラウザを閉じても以前訪れた時の設定で使用することが出来ます。

cookieを設定する場合は、setcookie関数を使用します。

<?php
class cookieTest{
    function testCookie {
        setcookie("cookie_value", "今日は晴れでした!"); // クッキーに値を設定する
        var_dump($_COOKIE["cookie_value"]);
    }
}
?>

[su_spacer size=”20″]

今日は晴れでした!

簡単にcookieに値を設定したり、値を読み込んだりできました。

まとめ

今回はphpの設定について色々お話しましたが、いかがだったでしょうか。

一口にphpの設定といっても色んな設定があります。

今回の記事の中にあなたの探していた情報があれば嬉しく思います。

それでは、また。

この記事を書いた人

独学PG&SE、東京在住30代女性。
誰でもプログラマーになれるがモットーで、わかりやすい記事を目指しています。

目次