<<'''' '''PHPの利用''' ''''>> !!PHPのプログラムに必要な環境((br)) :: なぜPHPと呼ばれているのだろうか、Hypertext Preprocessorというこの言語は、HyperText Markup Languageの補助的な役割を担うものとして開発された。C言語を手本の一つにしているらしく、文法がよく似ている。((br))((br))  PHPファイルの感覚的な位置づけはHTMLファイルと変わらない。PHP in HTML, HTML in PHP のように 片方のファイルの中にもう一方を組み込む形で使うことができる。(HTMLファイル内でJavaScriptを記述する際に使った""のように、""というタグが存在する。)((br))((br))  よって、作るのは簡単だと意気込んで作るが、うまくいかない点が出てくる。実行できないのである。世の中の動的なwebサイトのほとんどすべてにはPHPのプログラムが組み込まれており、頭のいいChromeやEdge、FireFox、safari等のウェブブラウザは、たとえローカル環境にPHPの環境がなかったとしても何ら問題なくwebページの表示をしてくれる。しかし、自身でプログラムしたPHPファイルの出力はしてくれない。これは、PHPが動作する仕組みに理由がある。   !!PHPの仕組み :: PHPを動かすには2つの方法がある。((br))((br))   ・ローカルにPHPの環境を設定する。((br))   ・PHPを動かせるサーバーにPHPファイルを置く。((br))((br)) :: ひとつめは、当たり前に動作するのが分かるだろう。((br))  ふたつめについてだが、サーバーにファイルを置くことで、サーバーがPHPの処理をしてくれるため、PHPの実行環境がないローカルなブラウザでの表示(実行)が可能になる。 !!PHP、サーバー、ブラウザの関係性 *ブラウザ:読み込んだファイルの形式を判断して、HTMLファイルを処理し出力する。PHPにリクエスト。 *PHP:動作としては文字列を格納し、文字列の吐き出しを行っているらしい。ブラウザにレスポンス。 *サーバー:PHPの処理。PHPとブラウザのリクエストとレスポンスの動作を命令する。 ::基本的にブラウザはHTMLファイルしか処理しないため、PHPが組み込まれている場合はサーバーに送る。受け取ったサーバーはPHPをHTMLとしてつくりなおしブラウザへ返す。ブラウザは受け取ったHTMLファイルをもとに出力する。((br))((br)) おそらく以下のようなことが行われていると自分は理解している。 <<{スクリーンショット 2022-07-09 013012.png} !!実行方法(コマンド) :: 最後に実行方法について。((br)) HTMLファイルの実行のようにプログラムファイルのパスをURL欄にペーストしてもPHPファイルは実行されない。先ほど述べたように環境の整っていないローカルでは処理できないからだ。しかし、PHPの環境が整っているサーバーにファイルを置くことで、ブラウザ出力の時点ではHTMLファイルに置き換わってくれる。((br))((br))  今年度は、張先生による4年生のデータベースの講義でmysqlとPHPを使うため、環境が整ったサーバーがあるとのことで、そのサーバーをお借りし、mysqlとPHPによるソフトウェア設計が可能となった。((br))  実行する手順は次の通り。((br))((br)) :1.esdbサーバーに入る。 *使用するサーバーは、学内のesdbサーバー。 *端末を起動((br)) →コマンド"ssh esdb.cis.iwate-u.local"を入力。((br)) →パスワードを入力すればアクセス完了。 :2.自分のホームディレクトリの下に、"public_html"というディレクトリを作る。 :3.public_htmlディレクトリの中に、実行ファイルを入れる。 :: public_htmlディレクトリは、ホームページ用のファイルをアップロードするディレクトリ。このディレクトリ内に転送されているホームページ(ファイル)や画像のみが、ブラウザでアクセスした際に表示される。public_htmlディレクトリ以外にファイルをアップロードしても、ホームページ用のファイルとしては認識されず、表示(閲覧)することはできない。逆にブラウザーから表示(閲覧)されたくないファイルやディレクトリは、public_htmlディレクトリ以外に転送することで、隠しファイル、隠しディレクトリを設けることが可能。 :4.webブラウザを立ち上げ、URL欄にファイルの絶対パスを入力する。 >>"http://esdb.cis.iwate-u.local/~s062..(学籍番号)/ファイル名"<<