質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.44%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

2442閲覧

PHPのファイルがブラウザ上で表示されません。

punchan36

総合スコア105

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2018/06/28 07:15

PHPのファイルがブラウザ上で表示されません。
当方、現在まではHTML & CSSのみ使用しておりました。

・PHPのインストール及び動作確認は済んでおります。
コマンド上にて

php -v

PHP 5.5.0 (cli) (built: Jun 19 2013 16:13:16)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0-dev, Copyright (c) 1998-2013 Zend Technologies
の文言が確認できました。
参考:https://webkaru.net/php/windows-php-confirmation/

・またApacheのインストール、動作確認も済んでおります。
http://localhost/ にて、"It works!"のメッセージが確認出来ました。
参考:https://webkaru.net/php/windows-apache-confirmation/

・拡張子が.htmlのままでもPHPファイルを読み込めるようにするため、
<FilesMatch "^php.html$">
AddType application/x-httpd-php .php .html
</FilesMatch>
こちらのコードを.htaccessに記述致しました(ファイル名は~php.htmlとしています)。

ですが、画像にありますように「年齢」等の箇所をクリックしても「選択してください」の文言しか表示されず、PHPで記述した部分(6-100歳までのオプション)が表示されません。
恐らくPHPの読み込みにどこかで失敗しているのだと思われるのですが、調べても対処の仕方が分かりませんでした。

PHPを使用できますよう、どなたかお知恵を拝借頂けましたら幸いです。

※今回使用致しましたコードは、テスト用として、プログラミング学習サイトで使ったものをそのまま引用しております。

イメージ説明

PHP

1<!DOCTYPE html> 2<html> 3<head> 4 <meta charset="utf-8"> 5 <title>Progate</title> 6 <link rel="stylesheet" type="text/css" href="stylesheet.css"> 7</head> 8<body> 9 <div class="header"> 10 <div class="header-left">Progate</div> 11 <div class="header-right"> 12 <ul> 13 <li>会社概要</li> 14 <li>採用</li> 15 <li class="selected">お問い合わせ</li> 16 </ul> 17 </div> 18 </div> 19 20 <div class="main"> 21 <div class="contact-form"> 22 <div class="form-title">お問い合わせ</div> 23 <form method="post" action="sent.php"> 24 <div class="form-item">名前</div> 25 <input type="text" name="name"> 26 27 <div class="form-item">年齢</div> 28 <select name="age"> 29 <option value="未選択">選択してください</option> 30 <!-- for文を用いて6歳から100歳までをoptionで選べるようにしましょう --> 31 <?php 32 for ($i = 6; $i <= 100; $i++) { 33 echo "<option value='{$i}'>{$i}</option>"; 34 } 35 ?> 36 </select> 37 38 <div class="form-item">お問い合わせの種類</div> 39 <?php 40 $types = array('Progateに関するお問い合わせ', 'Progateに対する意見', '採用に関するお問い合わせ', '取材・メディア関連のお問い合わせ', '料金に関するお問い合わせ', 'その他'); 41 ?> 42 <!-- この下にselectタグを書いていきましょう --> 43 <select name="category"> 44 <option value="未選択">選択してください</option> 45 <?php 46 foreach ($types as $type) { 47 echo "<option value='{$type}'>{$type}</option>"; 48 } 49 ?> 50 </select> 51 52 <div class="form-item">内容</div> 53 <textarea name="body"></textarea> 54 55 <input type="submit" value="送信"> 56 </form> 57 </div> 58 </div> 59 60 <div class="footer"> 61 <div class="footer-left"> 62 <ul> 63 <li>会社概要</li> 64 <li>採用</li> 65 <li>お問い合わせ</li> 66 </ul> 67 </div> 68 <div class="like-box"> 69 <iframe src="https://www.facebook.com/plugins/likebox.php?href=https%3A%2F%2Fwww.facebook.com%2Fpages%2FProgate%2F742679992421539&amp;show_faces=false" scrolling="no" frameborder="0" style="border:none; overflow:hidden; height:300px;" allowTransparency="true"></iframe> 70 </div> 71 </div> 72</body> 73</html>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/06/28 07:22 編集

「ソースを表示」ではPHPコードがそのまま出ているということ良いですか?過去に似たような質問が幾つかあったはずですが、そちらは参考にされたのでしょうか。 また.php拡張子では実行できるか確認されましたか? しかしなぜわざわざ.htmlで実行しようとされているのでしょうか。
m.ts10806

2018/06/28 07:22

実行しているURLも念のため教えてください。Apacheは再起動されました?
punchan36

2018/06/28 07:39

はい、適応できる箇所は全て参考にさせていただいたつもりです。ただ「ブラウザからhttp://〜でアクセスしていない可能性(file://になっている)」とのご回答もお見掛けしまして、私の場合もその通りなのですが、まだURLの取得が済んでいない状況です。http://〜でないとPHPのファイルは表示されないのでしょうか。また、拡張子を.phpにするとコードがそのまま表示される形になりました。どちらかのウェブサイトで、拡張子が.htmlのままPHPの表示もできるようにしておけば後々楽、と言った内容の記事がありましたので、参考に致しました。まだ初心者でして、特にこだわりがあるわけではありません。
punchan36

2018/06/28 07:42

Apacheの再起動ですが、しておりませんでした。今確認いたします。
punchan36

2018/06/28 07:45

再起動させましたが、状況は変わらないです…。
m.ts10806

2018/06/28 07:50

回答しています。ご確認ください。
papinianus

2018/06/28 08:12

ソースを表示はどうでしたか?
papinianus

2018/06/28 08:14

あと、環境は?windows?XAMPとかでインストールしてますか?
punchan36

2018/06/28 09:25

はい、「ソースを表示」ではPHPコードがそのまま出ています。環境はwindows7で、この件に関しましてはPHPとApacheのインストールのみで格闘しております…。
guest

回答2

0

http://localhost/ にて、"It works!"のメッセージが確認出来ました。

上記から、ローカルPCに環境構築していかれているのだと思います。
ローカル環境で確認したいのであればURL取得(おそらくドメイン取得のことを仰っているのだと思いますが)は不要です。

Apacheのconfファイル(httpd.conf)のDocumentRootに指定されているディレクトリが「ルート」になります。
ローカル環境ではhttp://localhost/というURLでブラウザからアクセスしたときに実行されるディレクトリです。
つまりDocumentRoot配下にファイルを置いてそこからのパスでブラウザアクセスすればOKです。

DocumentRootxxx/xxx/htdocs/となっているとして置いたファイルがxxx/xxx/htdocs/test.phpとしたらhttp://localhost/test.phpというURLでブラウザからアクセス。
またxxx/xxx/htdocs/test/test.phpとしたらhttp://localhost/test/test.phpというURLでブラウザからアクセス。
です。

.htmlのままPHPの表示もできるようにしておけば後々楽

あまりそうは思いません。というか関係ありません。
初学者であれば「PHPプログラムを実行している」という実感も必要ではないでしょうか。
いきなりどこで見たか分からないテクニックを導入するよりも、まずは.phpできちんとphpプログラムを実行して学習を進めてください。
そのうち.phpどころか.htmlすらもアクセス時には不要になります(フレームワークとかその辺の話なので、またその時に)

投稿2018/06/28 07:47

編集2018/07/03 07:43
m.ts10806

総合スコア80871

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

punchan36

2018/06/28 09:28

ご回答有難うございます。 勉強する事がたくさんで、まだ解決には至っておりません。夕食を挟んだ後、また出来るまで格闘します。 初学者の私にアドバイスまでしてくださり有難うございます!いずれ勉強する事になると思いますので、頭の片隅に入れておきます。
m.ts10806

2018/06/28 09:52

大事なことなのでもう一度言っておきます。 まずは.phpできちんとphpプログラムを実行して学習を進めてください。
punchan36

2018/07/03 07:29

大変遅くなりましたが、phpinfo()を表示させるまで辿り着くことが出来ました!有難うございました。 はい、.phpで表示できるようやって参ります(インストールは成功したのにまだソースしか表示されない為、また格闘が始まりました。)
m.ts10806

2018/07/03 07:32

ん? http://で、~.phpでアクセスしていれば問題ないはずですが。 .htmlでPHPコードを動かすメリットって皆無ですよ。
m.ts10806

2018/07/03 07:33

強いてなら、私であれば全部AjaxでPHPにアクセスして利用します。 JavaScriptのコードは長くなってしまいますが、動きはかなりつけられますし。
退会済みユーザー

退会済みユーザー

2018/07/03 07:33

> .htmlでPHPコードを動かすメリットって皆無ですよ。 激しく同意w SEOに強いとかいまだに信じている人いるんでしょうかね?
m.ts10806

2018/07/03 07:35

.phpという表示が嫌だからとかいうのがあるんでしょうね。 ルーティング機能のあるフレームワークにしてしまうか、.htaccessで制御してURLで振り分けるようにすれば拡張子という概念なくなるんですけどね。
punchan36

2018/07/03 07:37

urlは依然取得出来ていない為、file:///C:~になっております。今回はmts10806様のアドバイス通り、~.phpでやっているのですが…なぜかソースのみが表示されてしまいます。 php.iniも色々なサイトさんを参考にして編集したのですが。。 (例えばこちら https://saku.io/configuring-default-php-ini-file/ )
退会済みユーザー

退会済みユーザー

2018/07/03 07:40

それ、phpファイルを直接ダブルクリックで開いているでしょ? そりゃダメだよ。 ブラウザを空のまま開いて、アドレスバーにURLを入力しましょう。
m.ts10806

2018/07/03 07:44

一応、「ブラウザアクセスすればOK」と回答に書いたんですが・・・。 伝わってなかったようなので追記しました。太字で。
guest

0

ベストアンサー

Apache単体、PHP単体では動いているように見受けられますが、

https://www.adminweb.jp/apache/php/index4.html

のページにあるようなサンプルページを置いてPHPの設定情報が表示されますか?
表示されなければ、

https://webkaru.net/php/setup/

の「PHPとApache」の項はすべて行いましたか?

https://webkaru.net/php/windows-apache-php-confirmation/

以降の作業をやっていないようであればまずはそちらを試してみたらよいかと思います。

投稿2018/06/28 07:58

sysjojo

総合スコア325

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

punchan36

2018/06/28 09:21

ご回答有難うございます。 まず最初の「PHPの設定情報の表示」ですが、表示されませんでした(記述した簡単なコードがそのまま表示されるのみ)。 (「PHPとApache」の項ですが、こちらは質問文でもご説明した通り、ApacheとPHPの個別動作確認まで全て確認いたしました。) そこでご紹介いただいた三番目のページの内容にトライしたのですが、httpd.confファイルの末尾に記載されているコードを追加した所、今度はApacheが再起動できなくなりました。 きちんとコピペし、何度も試したのですが…。コードに問題があるのでしょうか? 一つ一つの質問で申し訳ありません。今日一日この問題と格闘しておりまして…。
papinianus

2018/06/28 09:37

コピペが常に正しいとは限りません。環境が違うので。エクスプローラからc:/php/php5apache2_4.dllが確認できますか? そしてphp5でapache24であってますか?
sysjojo

2018/06/28 13:02 編集

>そこでご紹介いただいた三番目のページの内容にトライしたのですが は >(「PHPとApache」の項ですが、こちらは質問文でもご説明した通り、ApacheとPHPの個別動作確認まで全て確認いたしました。) の一部ですよ。(まだ続きもありますよ) いずれも質問に上げられていた参考ページの前後の内容で、ApacheとPHPを連携させるための一連の作業をつまみ食いしているので必要な手順が漏れているのだと思います。 papinianusさんがご指摘されているようにコピペすりゃいいってものでもありません。記事が古ければ同じ操作をしても同じバージョンにならないこともあります。 コピペで変えようとしている中身を理解しながらはじめからやり直してみては? 歯抜けの状態で動くようにするより変なところで躓かない分、やり易いと思いますよ。
punchan36

2018/06/28 13:05

確認できます!ただしPHPは7ですので、c:/php/php7apache2_4.dllが確認出来ました。 メッセージ本当に有難うございます。
punchan36

2018/06/28 13:10

sysjojo様、有難うございます。 明日もう一度初めから丁寧にやり直してみようと思います。 お見苦しい点も多々あったかと思いますが、アドバイスして下さり有難うございます!
papinianus

2018/06/28 13:29

PHP7apahe2_4.dllしかないのに、コピペして、php5って書いてたらエラーになります(多分、そんなファイルないよというエラー)。 環境にあった参考資料を探すか、資料に合わせてあえてphp5を入れるかどちらかですね。
punchan36

2018/07/03 07:27

大変遅くなりましたが、phpinfo()を表示させるまで辿り着くことが出来ました!有難うございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.44%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問