このサイトで紹介している、WordpressやOwncloudを導入するにも、PHPが動く環境がなければいけません。
その他OSSで便利なWEBアプリケーション等はPHPで書かれている事は多いです。
phpMyAdminとか、ECCubeとかとか・・・
そんなPHPをCentOSにインストールする方法の紹介です。
PHPと、良く使うPHP周りのライブラリも一緒に入れちゃいます。
1 |
yum install php php-mbstring php-mysql php-gd php-mcrypt |
ここでインストールしているのは下記の通り
php(phpそのもの)
php-mbstring(phpでマルチバイト文字を扱う関数ライブラリ)
php-mysql(phpからmysqlに接続するための機能を提供。代表的なものとしてPDOなどが依存関係でインストールされます)
php-gd(phpで画像処理をする関数ライブラリ)
php-mcrypt(暗号化関数が色々入ってるらしい。自身が開発で利用したことはないのでよく知らない。phpMyAdmin使いたいなら入れないと怒られる)
不要な物はインストールしなくてもOKです。
PHPの初期設定を行います。
1 |
vi /etc/php.ini |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# 該当箇所を編集する short_open_tag = On # PHPのバージョン等を隠す expose_php = Off # 実行時間の最大(秒)。これ以上実行に時間がかかるとkillされます max_execution_time = 120 # 最大POSTサイズやファイルサイズ。お好みでどうぞ・・・ post_max_size = 20M upload_max_filesize = 20M # タイムゾーンを東京に設定 date.timezone = Asia/Tokyo # --ここからマルチバイト文字に関する設定なので、mb_stringインストールしなかった方は無視してください-- # デフォルト言語 mbstring.language = Japanese # デフォルトのエンコーディング mbstring.internal_encoding = UTF-8 # http通信時(IN/OUT)に文字コード変換を自動で行わない。 mbstring.http_input = pass mbstring.http_output = pass mbstring.encoding_translation = Off # 文字コードを自動判別する際にどの文字コードから見ていくかの順番。autoでも良い気がするが念の為 mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII # 文字コード変換に失敗した場合の代替文字はいらないのでnone mbstring.substitute_character = none |
私は基本的にUTF-8で固めているのでこんな設定にしています。
しかしどっかのAPIに繋ぐだけのサーバとかで、流通文字コードがSJIS固定だぜ!みたいなかっこいい使い方の方はmbstring.internal_encodingとかmbstring.encoding_translation,mbstring.http_input,mbstring.http_outputあたりで固定したほうが楽なのだと思います。
でもバグの元にもなるので、文字コードを自動でゴニョゴニョする機能は基本的にOFFってます!
1 |
vi /etc/httpd/conf/httpd.conf |
1 2 3 |
# 下記記載があることを確認 DirectoryIndex index.html index.htm index.cgi index.php AddType application/x-httpd-php .php |
apacheのの再起動
1 |
systemctl restart httpd.service |
以上で完了です!
最後に書くのもアレですが、これはPHP5.4(CentOS7標準)での設定です。
最新版の5.6で非推奨になった設定も多々含まれますので、CentOS7標準リポジトリ以外からPHPをインストールしてきた方はご注意ください。