PHP Install

PHP をインストールします。
c:\BIN\PHP>php -v
PHP 5.6.3 (cli) (built: Nov 12 2014 17:19:25)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2014 Zend Technologies

サーバーの PHP info を表示する phpinfo.php を呼び出す

PHP をインストール

  1. PHP はサーバー上で動作するサーバーサイドスクリプト(SSL)です。
    PHP を動かすには PHP をサポートしているサーバーにアップロードするか、パソコンに WWW サーバー(apache など)を構築しなければなりません。
    前回は私のパソコンに apache を構築したのですが、結構面倒なので今回はサーバーにアップロードすることにします。
    PHP のソースコードをタイプして、直接サーバー上でテストしても良いのですが、デバッグのたびにアップロードを繰り返すのは余りにも効率が悪くなります。
    そこでアップロードする前にコンソールモードでエラーチェックと出力(印字)の確認をするのが一般的です。
    エラーが含まれているソースコードをアップロードすると、予測不能の事態を招きます。
    また、PHP のプログラムを勉強するときにもコンソールモードが適しています。
  2. 次のページから PHP のシステムをダウンロードして、インストールして下さい。
    私は Windows 10 を使っているので「VC11 x64 Thread Safe(2017-Jan-19 07:07:56)」をダウンロードしました。
    PHP Download
    2017/05/04 php-5.6.30-Win32-VC11-x64.zip を DownLoad して解凍します。
    解凍したシステムフォルダを C:\BIN\php\ に移動して準備が完了です。
  3. PHP が動くことを確認します。
    1. コマンドプロンプトを起動します。
      コマンドプロンプトのタイプは大文字でも小文字でも構いません。
    2. C:\BIN\php\ に移動します。
      C:\Windows\System32>cd c:\bin\php
      
    3. バージョン情報を表示します。
      c:\BIN\PHP>php.exe -v
      
    4. バージョン情報が表示されたらOKです。
      PHP 5.6.3 (cli) (built: Nov 12 2014 17:19:25)
      Copyright (c) 1997-2014 The PHP Group
      Zend Engine v2.6.0, Copyright (c) 1998-2014 Zend Technologies
      
    5. 続いてパラメータ一覧を表示します。
      php.exe の .exe は省略することが出来ます。
      c:\BIN\PHP>php -?
      
  4. PHP のページはサーバーにアップロードされて、サーバー上で動作します。
    サーバーのバージョンを確認するソースコードです。
    拡張子を .php にしてサーバーにアップロードして実行して下さい。
    サーバーのバージョンとクライアントのバージョンが一致していなければテストに支障が出るかも知れません。
    <?php phpinfo(); ?>
    
  5. phpinfo.php の名前でアップロードして呼び出してみます。
    phpinfo.php を呼び出すアンカーは次のように書きます。
    http://maedakobe.rw.xsi.jp/php は私がお借りしているサーバーの URL です。
    <a href="http://maedakobe.rw.xsi.jp/php/phpinfo.php">PHP info</a><br>
    
    実際の呼び出しはページ先頭のアンカーをクリックして下さい。
    2005/03 現在の PHP のバージョンは PHP Version 5.2.17 です。
    2015/06/10 現在の PHP のバージョンは PHP Version 5.4.41 です。
    2017/05/01 現在の PHP のバージョンは PHP Version 5.6.30 です。

ビルトインサーバーを使う

  1. PHP を動かすには PHP をサポートしているサーバーにアップロードするか、パソコンに WWW サーバー(apache など)を構築しなければなりません。
    サーバーを構築するのは一筋縄では出来ませんし、デバッグの度にサーバーにアップロードするのも大変な手間がかかります。
    そこで PHP 5.4.0 からリリースされたローカル環境で PHP をテストできるビルトインサーバー機能を使ってみます。
    サーバー上で動かすときは PHP をインストールする必要は無いのですが、ビルトインサーバーを使うときは C:\BIN\php\ に PHP をインストールして下さい。
  2. C:\BIN\php\ に index.html を作成します。
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    </head>
    
    <body>
    <h1>ビルトインサーバーを使う</h1>
    ビルトインサーバーを使って PHP のテストを行います。<br>
    
    <hr>
    
    <ol>
      <li>PHP のプログラムはサーバー上で起動するのが原則です。<br>
          ビルトインサーバーを使うとサーバー上と同様に実行することが出来ます。<br>
      <li>Hello PHP を印字します。<br>
          <a href="hello.php">Hello PHP</a><br>
      <li>hello.php のソースコードです。<br>
          utf-8 でタイプして C:\BIN\PHP\ に格納して下さい。<br>
    <table border="1"><tr><td><pre>
    <?php
    print "Hello PHP";
    ?>
    </pre></td></tr></table>
      <li>乱数で数を設定して、画像を描画します。<br>
          <a href="imgrand.php">Image Rand</a><br>
      <li>imgrand.php のソースコードです。<br>
          utf-8 でタイプして C:\BIN\PHP\ に格納して下さい。<br>
    <table border="1"><tr><td><pre>
    <html>
    <body>
    <h2>random 5-10</h2>
    <?php
        $n= rand(5,10);
        for($i=0; $i<$n; $i++)
        {   print "<IMG SRC=\"php.gif\">\r\n";
        }
    ?>
    </body>
    </html>
    </pre></td></tr></table>
    </ol>
    
    </body>
    </html>
    
  3. index.html からリンクしている hello.php と imgrand.php を作成して C:\BIN\PHP\ に格納して下さい。
    ソースコードはすぐ上の index.html の中に記述しています。
    また imgrand.php では php.gif を参照しているので C:\BIN\PHP\ に php.gif を格納して下さい。
  4. ビルトインサーバー機能を立ち上げます。
    1. コマンドプロンプトを起動します。
      コマンドプロンプトのタイプは大文字でも小文字でも構いません。
    2. C:\BIN\php\ に移動します。
      C:\Users\maeda>cd c:\bin\php
      
    3. ビルトインサーバーを起動します。
      -S の「S」は大文字です。
      localhost:8000 は、localhost(127.0.0.1)のポート 8000 を PHP ビルトインサーバーが使用する設定です。
      c:\bin\php>php -S localhost:8000
      
    4. ブラウザを起動して http://localhost:8000 を貼り付けると規定値で index.html が実行されます。
      また http://localhost:8000/hello.php を貼り付けると "Hello PHP" が印字されます。
      また http://localhost:8000/imgrand.php を貼り付けると画像が描画されます。
    5. ビルトインサーバーの終了は CTRL-c を押します。
  5. ルートフォルダーを指定するときは -t を使います。
    /html/public/php は私の PHP ホームページを格納しているフォルダーです。
    c:\bin\php>php -S localhost:8000 -t /html/public/php
    
  6. 何度も使うときは BAT ファイルを作成すると便利です。
    私は自分の PHP ホームページ上で作業が出来るように php.bat を作成しています。
    cd \bin\php
    php -S localhost:8000 -t /html/public/php
    
    コマンドプロンプトを起動したときのフォルダー(私の場合は C:\Users\maeda)に php.bat を格納します。
    そうするとコマンドプロンプトを起動して php.bat とタイプするだけで準備が整います。
    C:\Users\maeda>php.bat
    
    次にブラウザを起動して http://localhost:8000 をURLに貼り付けると /html/public/php/index.html が実行されます。
  7. サーバーにアップロードして実行するときと、ビルトインサーバーで実行するときとでは幾つかの違いがあるようです。
    ビルトインサーバーでは、実行時間が30秒を超えるプログラムは中断されるようです。
    シングルタスクで実行されるので、先に起動したプログラムが終了しないと次のプログラムは起動されないようです。
    私が使っていて感じたことで本当に正しい保証はないので念のために申しそえます。

文字コード

html の文字コードは utf-8 を使ってアップロードしています。
php の文字コードはサーバー上では utf-8 でも Shift_JIS でもOKです。
当初コマンドプロンプトを起動してコンパイルすると utf-8 の全角文字(日本語)が文字化けするので Shift_JIS を使っていました。
ところがビルトインサーバーを使ってコンパイルすると Shift_JIS の方が文字化けします。
そこで 2017/06/21 以降は html も php も utf-8 を使ってアップロードすることにします。
ビルトインサーバーの説明は、このページの中ほどを参照して下さい。
2017/06/21 以前にアップロードした php ファイルには Shift_JIS が使われています。
Shift_JIS のプログラムが正常に実行されることを確認したはずなのですが、何故か全角文字が文字化けする現象に遭遇しました。
Shift_JIS を使うときは、明確に次のように文字コードを指定して下さい。
<?php header("Content-Type: text/html; charset=Shift_JIS"); ?>
同様に utf-8 のときは次のように文字コードを指定します。
<?php header("Content-Type: text/html; charset=UTF-8"); ?>

前田稔の超初心者のプログラム入門
PHP Program