PHP/確実に動作させるまで

『WinSock』や『CGI』などが参照する可能性があります。
ここでは、XAMPPで環境を作った方向けに解説します。
Windows日本語版のSHIFT-JISの文字コードに対応する場合、下記のような設定が必要かもしれません。
ですが、そもそもアップロードするファイルの文字コードをUTF-8にしておけば、下記の設定は不要かもしれません。
XAMPPのインストール先のフォルダのPHPのフォルダ内(デフォルトでは C:\xampp\php) にある php.ini をメモ帳で開きます。
1860行目付近にある記述の
の先頭の ; をとります。
1044行目付近のタイムゾーン設定を
にします。

Linuxの場合、そもそもXAMPPのフォルダは、
として、「lampp」の名称である。
ドキュメント・ルート(そこに入れたhtmlなどがブラウザからアクセスできるようになる)の場所は
である。
どうやら、xamppをインストールすると、既存の「opt」フォルダの中に新しく「lampp」フォルダが作成され、さらに「lampp」フォルダの中に「php」フォルダなどが作成される。
コマンド端末で、
を実行すれば、xampp(lampp)が起動する。
これらのフォルダの所有者は、初期設定では root になっているが、しかし、root のままだと作業しづらいので(たとえばマウス操作でのファイルのコピーすら出来無い)、 なので今後のhtml作成とテストのさいの編集作業を楽にするため、ひとまず
のように権限を変更しておくとラクである。
chown とは、所有者(オーナー owner)変更のunixコマンド。
XAMPPのApacheで見るwebサイトは、htmiで文字コードを
のように meta タグで指定しないと、なぜか日本語が文字化けするので(Fedora32 で2020年4月26日に確認)、文字コードの指定の必要がある。

Linuxの場合、Xampp やlampp がインストールされてるなら、上記のコマンドを参考にして、Xampp(lampp)を起動してください。

(※ 編集注: 上の段落は無視しても、そのまま下記の手順でlocalhostにアクセスしても、「sudo /opt/lampp/lampp start」さえしてあれば、ブラウザのページで XAMPP と表示される。)
Apache が正常に動いているか確かめるには、ブラウザを開き、アドレスバーに
http://localhost
と入力します。XAMPPと表示されれば成功です。

「localhost」とは、あなたの今使っているブラウザの入っているパソコンにあるサーバーの事であり、つまり、あなたの今使っているパソコンのことです。「localhost」という言い方は、PHPだけにかぎらず、サーバー業界で、一般的な用語として使われます。
「localhost」は、これからサーバー用プログラムを開発するときに、一時的に使うための、パソコン内サーバーのようなものです。
なぜ、わざわざ自分のパソコン内にサーバーを設けるかというと、いきなり外部のサーバーにアップロードするのは大変なので、まず、普通のデスクトップパソコンで、プログラムの挙動を確認しようとしているわけです。
そして、PHPはサーバーで動くためのプログラムなので、自分のパソコンの中にも、サーバーを一時的に作ってあげることで、PHPを動かせるようにして、PHPプログラムを確認しようとするのが、これから私たちのしようとする作業です。
(Localhostのwebページの右下の「日本語」をクリック)(※ 編集注: LinuxのFedora26でXamppインストールして確認したところ、文字列「日本語」は見えない。)
『CGI』で説明したように、Linux などで Apache などを個別に設定しても可能です。なお、CGIを使わなくてもApacheでPHPの使用は可能です。というか、Apacheで標準設定されているPHPを使うことを、けっして「CGI」とは言わないです。
Apacheの起動コマンドは
です。解説について詳しくは、リンク先ページにて、この起動コマンドでページ内検索をして、説明を探してください。
なお「systemctl」は、Linuxにインストールされているsystemdというランチャー機能のあるツールのコマンドですので、もしOSがsytemd以外の他のツールをシステム管理に使っている場合、サーバ起動コマンドが違うかもしれません。
Apacheにかぎらず、systemdでサーバを起動するコマンドは
です。「httpd」とは、Linux界隈での Apache の呼び名です。
まず、下記のように、phpのプログラムを書きます。ファイル名は test.php で保存してください。
このphpファイルを、/var/www/html/ 以下に保存すると、PHPインタープリターによって 。phpファイルからHTMLが生成され、ウェブブラウザでレンダリングが可能になります。
/var/www/html/ は、Filesystem Hierarchy Standard (FHS)で定められてはいませんが、多くのUnixとUnix互換OSで、ウェブコンテンツのロケーションとされています。
root権限だと作業しづらいので、まずコマンド
で、ドキュメントルートの所有者を変えます。
その後、そこに上述のHTMLコード書いて入れます。
ついでに、マウス操作でアクセスしやすいようにショートカット(Linuxでは「シンボリックリンク」)を作りましょ。 シンボリックリンクのコマンドは
です。
ブラウザで http://localhost/test.php にアクセスして、
と表示されれば、とりあえずは成功です。(まだまた、ルーターの設定とか、ポートの設定とか、外部公開するには、いろいろとある。)
次に、こうして表示できたウェブページを保存してみましょう。通常のウェブブラウザでの保存方法と同じで、メニューバーの「ファイル」にある「名前をつけてページを保存する」サブメニューなどを押してください。すると、html形式での保存になっています。
実は、ブラウザに送る前の時点で、すでにhtml形式に変換されています。(でないと、セキュリティホールになる。)
ウェブアドレス名に「localhost/test.php 」とついているので、いかにもphpファイルを閲覧しているかのように錯覚しがちですが、しかし、このウェブアドレスのときにウェブブラウザで閲覧しているのはhtmlファイルです。
このように、無事にphpファイルがhtmlファイルに変換されて(まだローカルサーバー上ですが)公開されていることが、わかります。
Linuxの場合、ターミナル(コマンド端末)で、
と ln コマンドを 引数-s で使うと、ショートカット(Linuxの場合、「シンボリック・リンク」という)を作れます。
すでにホームフォルダで作業してるなら、単に
でもシンボリックリンクを作成できます。
ログインユーザー名の部分には、あなたのLinuxパソコンでのLinuxインストールで作成したユーザー名を入力します。
これだけだと、ショートカット先がrootユーザーになってて編集が面倒なので、
で所有者をログインユーザに変更するとラクです。
さて、ショートカット先(シンボリックリンク先)でphpファイルを作成したあと、所有者がrootになっていたりしたら、
で所有者をログインユーザーに更新できます。
ApacheがどのバージョンのPHPを動かしているのか等の確認は、たとえばtest.phpを下記のように書き換えて、
まずは、Windows のフォルダを開き、「登録されている拡張子を表示しない」というチェックをはずします。(はずしかたは、分からなければインターネットで調べてください。)
テキストエディタ(Windows 附属のメモ帳でもOKです。)を開き、
と入力して、XAMPPのフォルダのhtdocs フォルダの中に "aisatu.php" という名前(拡張子に注意!!)で 保存(デフォルトでインストールした場合、C:\xampp\htdocs)。
http://localhost/aisatu.php
にウェブブラウザーから接続します。 すると、
こんにちは
と表示されているはずです。 こうなったら、大成功です。
なお、サーバーにおいて、そのフォルダに入れるとwebブラウザから見れるフォルダのことを「ドキュメント・ルート」といいます。
この C:\xampp\htdocs というフォルダ位置が、Windowsにおける XAMPP でのドキュメントルートです。
Windows環境では、メッセージ中の日本語「こんにちは」の部分が文字化けする場合がありますが、その場合、Windows付属のメモ帳で文字コードを UTF-8 に変更して保存してから、再度webブラウザで閲覧してみてください(きっと文字化けせずに成功するハズです)。(なお、フリーソフトのテキストエディタだと文字コード変換の機能が無い場合もあるので、起動するのはWindows付属『メモ帳』のこと。)
(XAMPP のインストール時にインストール先をデフォルトにしておけば、問題はおそらくおきません。)
「こんにちは」が表示できない場合、下記のような原因が考えられる。
これで、設定は終わりです。 ここから、PHPのプログラミングが始まります。