「PHP/確実に動作させるまで」の版間の差分

削除された内容 追加された内容
後半の見出しレベル調整
Ef3 (トーク | 投稿記録)
→‎プログラム例: この設定のまま外部に公開しないでください。 phpinfo()を外部に晒すことは、脆弱性の有無の情報を攻撃者にあたえてしまいます。
タグ: 2017年版ソースエディター
102 行
まず、下記のように、phpのプログラムを書きます。
 
;[https://paiza.io/projects/Qfl2J1yiog9zVWbAT-PUBA?language=php hello.php]:<syntaxhighlight lang="php">
<!DOCTYPE html>
<html lang="ja">
<head>
<title>サンプル</title>
<meta charset="utf-8"><html>
</head>
<title>サンプルこんにちは</title>
 
</head>
<body>
<body><?php
 
echo "Hello World!", "<br>";
<?php
print echo "Helloこんにちは", World!"<br />";
?></body>
print "こんにちは<br />";
?>
 
</body>
</html>
</syntaxhighlight>
: これを、ファイル名 <code>hello.php</code>
:まこれだけだと、まだwebウェブブラウザでは読み込みません。FireFox や Google Chrome などで無理矢理にこうとしても、エラーになったり、空白になったりします。
:<syntaxhighlight lang=text>
このファイル形式はサポートしていません。
</syntaxhighlight>
:のようなダイアログがポップアップするなど、期待通りに表示されません。
 
このphpファイルを、<code>/var/www/html/</code> 以下に保存すると、PHPインタープリターによって 。phpファイルからHTMLが生成され、ウェブブラウザでレンダリングが可能になります。
これを、拡張子「.php」で保存します。たとえば「test.php」みたいな名前になります。(.htmlファイルでの保存'''ではない'''です。)
 
 
ただし、これだけだと、まだwebブラウザでは読み込みません。FireFox や Google Chrome などで無理矢理に開いても、エラーになったり、空白になったりします。
 
 
このphpファイルを、Apacheなどのサーバー管理ソフトの指定のフォルダに保存すると、(Apacheなどの働きにより)phpファイルからhtmlが生成されるので、ソフト外部からも読み込みできるようになります。(そのようなフォルダを「ドキュメント・ルート」と言います。) Linux の場合、たいてい <code>var/www/html </code> です。
 
<code>/var/www/html/</code> は、Filesystem Hierarchy Standard (FHS)で定められてはいませんが、多くのUnixとUnix互換OSで、ウェブコンテンツのロケーションとされています。
 
root権限だと作業しづらいので、まずコマンド
134 ⟶ 132行目:
その後、そこに上述のHTMLコード書いて入れます。
 
; この例は、FollowSymLinks を有効にしている
ついでに、マウス操作でアクセスしやすいようにショートカット(Linuxでは「シンボリックリンク」)を作りましょシンボリックリンクのコマンドは
シンボリックリンクのコマンドは
ln -s /var/www/html
です。
 
 
ブラウザで http://localhost/test.php にアクセスして、
145 ⟶ 144行目:
 
 
次に、こうして表示できたwebウェブページを保存してみましょう。通常のwebウェブブラウザでの保存方法と同じで、メニューバーの「ファイル」にある「名前をつけてページを保存する」サブメニューなどを押してください。すると、html形式での保存になっています。
 
実は、ブラウザに送る前の時点で、すでにhtml形式に変換されています。(でないと、セキュリティホールになる。)
 
 
webウェブアドレス名に「localhost/test.php 」とついているので、いかにもphpファイルを閲覧しているかのように錯覚しがちですが、しかし、このwebウェブアドレスのときにwebウェブブラウザで閲覧しているのはhtmlファイルです。
 
このように、無事にphpファイルがhtmlファイルに変換されて(まだローカルサーバー上ですが)公開されていることが、わかります。
 
 
;備考: ショートカットの作成
なお、ドキュメントルートを今後、何度も見に行くので、ショートカットを作っておくとラクです。
 
Linuxの場合、ターミナル(コマンド端末)で、
180 ⟶ 176行目:
 
ApacheがどのバージョンのPHPを動かしているのか等の確認は、たとえばtest.phpを下記のように書き換えて、
:phpinfo.php<syntaxhighlight lang="php">
<?php phpinfo(); ?>
phpinfo();
?>
</syntaxhighlight>
と書いたphpファイルに:ブラウザから http://localhost/testphpinfo.php などでアクセスすることでバージョンや諸設定などを確認できます。
 
;この設定のまま外部に公開しないでください。
:<code>phpinfo()</code>を外部に晒すことは、脆弱性の有無の情報を攻撃者にあたえてしまいます。
 
== XAMPPでのPHP の動作 ==