アラカン"BOKU"のITな日常

あれこれ興味をもって考えたことを書いてます

PHP入門:XAMPPは使わない。PHPのインストールを行って、開発・テストする環境を整えてみる。

PHPをインストールします。

 

前回も書きましたが、XAMPPを使って楽してインストール・設定するのではなく、手作業で設定ファイルを書く方法でやります。

 

PHPのバージョンは5.6系を使います。

 

だいぶ、古いのですが、頼まれたのが既存環境に対する機能追加なので、そちらのバージョンにあわせないといけないからです。

 

PHP5系とPHP7系で、ソースコード互換があれば、PHP7系をいれてやろうかなとも思ったのですが、なかなか、そうでもなさそうです。

 

どうも、PHP5系からPHP7系への移行は、なかなかハードル高そうに見えますから、下手なリスクは避けておきます。

f:id:arakan_no_boku:20170812130539j:plain

PHP: 下位互換性のない変更点 - Manual

 

特に、「ext/mysql のすべての関数が削除されました」は、きついでしょうね。

 

そこら中で使っているみたいですから。

 

とりあえず、できるだけ5.6系と7.0系のどちらでも動く関数を使って動かす方針にはしようかなとは思ってますが・・。

 

あと、最後の方でMySQLに接続して動作確認します。

 

MySQLは既にインストール済のものをそのまま使うので、インストール手順とか書いてません。

 

必要な場合は、こちらとかを参考にしてインストールしておいてください。

webkaru.net

 

まずはダウンロード

ダウンロードページ

PHP For Windows: Binaries and sources Releases

からダウンロードします。

 

Windows10 X64環境なので、「VC11 x64 Thread Safe」のZIPファイルをダウンロードします。

f:id:arakan_no_boku:20170812131739j:plain

 

ダウンロードした「php-5.6.31-Win32-VC11-x64.zip」を解凍します。

 

解凍したフォルダを、Cドライブ直下に移動して、フォルダ名をC:\phpに変更します。

 

php.iniの作成

C:\PHPの直下にある「php.ini-development」をコピーして、「php.ini」に改名します。

 

php.iniをエディタで開きます。

f:id:arakan_no_boku:20170812154106j:plain

 

以下の文字列を検索して、コメント(行頭と;)を外します。

 

PHPでグラフィックを扱うためのモジュール

extension=php_gd2.dll 

 

PHPで日本語等のマルチバイト文字を使うモジュール

extension=php_mbstring.dll

 

PHPmySQLにアクセスするためののモジュール

extension=php_mysqli.dll

 

以下を検索して、以下のように変更します。

 

date timezone

date.timezone = "Asia/Tokyo"

 

extension_dir

; On windows:
extension_dir = "C:/php/ext

 

extension_dirは、PHPをインストールしたフォルダの「ext」フォルダをフルパスで指定します。

 

もともと、"ext"とかなっているので、それにならって相対パスを指定すると、mysqilなどのextフォルダ以下のメソッドが見つからないというエラーになりますので、要注意です。

 

次に日本語を扱うための設定をします。

[mbstring]を検索で探して、そこでコメントされているの項目のコメント(;)をはずして、以下のように変更します。

 

とりあえず、最低限の機能以外を使わない設定になってます。

[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation = Off
mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII
mbstring.substitute_character = none
mbstring.func_overload = 0
mbstring.strict_detection = Off

 

あと、gdの設定をしておきます。

 

jpeg2wbmp() や imagecreatefromjpeg() が出す警告を無視しないで、出力するようにしときます。

gd.jpeg_ignore_warning = 1

 

これでphp.iniを保存します。

 

こんどは、Apache2.4のhttpd.confを修正します。

 

Apacheをインストールしたフォルダののconfフォルダにあります。

 

LoadModuleの一番最後に以下を追加します。

 

php5apache2_4.dllのpathは、環境で変更します。

LoadModule php5_module "C:\PHP/php5apache2_4.dll"

 

 AddTypeの一番最後に以下を追加します。

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

 

DirectoryIndex に、index.php を追加します。

<IfModule dir_module>
     DirectoryIndex index.html index.php
</IfModule>

 

ファイルの一番最後あたりに、php.iniの場所を追記します。

PHPIniDir "c:/php"

 

これで保存します。

 

PHPの動作確認

コマンドプロンプトを管理者モードで起動し、Apacheのサービスを開始します。

httpd -k start

 

アパッチをインストールしたフォルダの「htdocs」フォルダに、index.phpの名前で、以下の内容を打ち込んだファイルを作ります。

<?php
phpinfo();
?>

 

保存したら、「http://localhost/index.php」でアクセスします。

 

以下のような画面が表示されたらOKです。

f:id:arakan_no_boku:20170812153811j:plain

 

とりあえず、動くようにはなりました。

 

続けて、MySQLへの接続確認もしておきます。

 

以下のソースで、DB接続情報部分を書き換えて、適当なファイル名(xxx.php)で保存して、実行します。

 

<?php
// DBに接続することを確認する
$mysqli = new mysqli("localhost", "user", "password", "db");
if ($mysqli->connect_error) {
     echo $mysqli->connect_error;
     exit();
} else {
     $mysqli->set_charset("utf8");
     print("mysql 接続試行");
}

// DB接続を閉じる
$mysqli->close();
?>

 

うまく行ったら、こんな画面が表示されます。

f:id:arakan_no_boku:20170812200503j:plain

 

環境設定はOKみたいです。

 

ソースコードの編集は、適当なエディタで行うことにして、一旦これですすめてみます。 

 

前の記事

arakan-pgm-ai.hatenablog.com

 

次の記事

arakan-pgm-ai.hatenablog.com