🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Apache

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

PHP

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

Q&A

解決済

2回答

1470閲覧

phpがコードのまま表示される

MashuScott

総合スコア18

Apache

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

PHP

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

0グッド

0クリップ

投稿2019/12/16 15:06

編集2019/12/16 15:40

追記:2019-12-17-0:40
色々なWEB情報から以下のような推測をたてましたが、全て外れました。
"
Q. apacheが複数インストールされている。
A. find -name httpd でパスが一つしか返ってきませんでした。そのapacheをuninstallするとapacheの動作が完全に断たれたためapacheはひとつではないかと思います。
"


php

1 <?php phpinfo(); ?>

これがコードそのまま表示されてしまいます。
Apacheのhttpd.conf設定に以下のように追加すれば治るようですが、治らずなぜかphpファイルのダウンロードが始まります。

php

1 AddType application/x-httpd-php .php 2 AddType application/x-httpd-php-source .phps

サーバー構築には以下の手順を踏んでいます。

  • LocalHost内でやっています。 -
  1. Alpineを使用
  2. Apache2とPHP7をaptインストール
  3. httpd.confに"直るはずのコード"を追加し、ServerNameをlocalhost:80に。(80番ポート開放済み)
  4. php.iniとくに変更しておらず。

結果: php動作不能

何か設定変更が必要な部分があるのでしょうか?
Alpineだから勝手が違うのでしょうか?

何か解決の糸口が見えそうな方いましたら、教えてください。
かたっぱしからやってみます。

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

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

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

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

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

kyoya0819

2019/12/16 15:34

拡張子は.phpになっていますか? 「拡張子を表示」等の操作で確認して見てください。
MashuScott

2019/12/16 15:36

コメントありがとうございます。 拡張子はphpであるはずです。 CUIなので「拡張子を表示」はありませんが、ls -lまたはls -aコマンドで確認したところ.phpであると表示されています。
kyoya0819

2019/12/16 15:38

<span>aiueo</span> のようなコードだとどのような表示になりますか?
退会済みユーザー

退会済みユーザー

2019/12/16 15:41

ファイルプロトコルで開くな 以上
退会済みユーザー

退会済みユーザー

2019/12/16 15:43

ブラウザのスクショ(アドレスバー入り)で上げてください
MashuScott

2019/12/16 15:43

正常に"aieuo"が表示されています。 ソースは以下です。 <html> <body> <? php phpinfo(); ?> <span>aieuo</span> </body> </html>
kyoya0819

2019/12/16 15:46

ご提示のコードがタイポ無しと仮定してとりあえず回答します。
MashuScott

2019/12/16 15:47

ファイルプロトコルで開いてはいけない理由もないと思います。 ポートは開放済みで80番localhostにアクセスができている以上問題はapache等の設定にあるのではないかと思います。 ファイルプロトコルで操作をしなければならない理由もパスを公開する必要もないような気がします。
kyoya0819

2019/12/16 15:49

> apache等の設定にあるのではないかと思います。 回答していますが、そもそもコードが間違っている線が濃厚です。
MashuScott

2019/12/16 15:53

コードの間違いを確認するため別環境で(phpが実行可能な環境)も少しシンプルなコードを書きました。<?php echo "Hello"; ?> 別環境では動作しますが、やはりこちらの環境では動作しませんでした。 別な要因を探してみます。
cateye

2019/12/16 16:02 編集

ファイルの有るディレクトリで、php -S 192.168.1.50:8000 ←自分のIP+ポート等したら PHP 7.2.24-0ubuntu0.18.04.1 Development Server started at Tue Dec 17 00:47:58 2019 Listening on http://192.168.1.50:8000 Document root is /home/xxxxx/Project/php Press Ctrl-C to quit. ・・・とか表示されますか?
MashuScott

2019/12/16 16:07

index.phpのあるディレクトリで以下のようにしました。 # hostname -i 172.20.0.2 # php -S 172.20.0.2:80 [Mon Dec 16 16:06:31 2019] Failed to listen on 172.20.0.2:80 (reason: Address in use)
MashuScott

2019/12/16 16:16 編集

エラー構文からやはりApacheが怪しいと思い、Listenキーを探しました。(httpd.conf) Listenをlocalhost:80としたら上記のFailed to listen on エラーは消え、 PHP 7.3.11 Development Server started at Mon Dec 16 16:13:53 2019 Listening on http://172.20.0.2:80 Document root is /etc/apache2 Press Ctrl-C to quit. っとなりました。
MashuScott

2019/12/16 16:21

php -S 172.20.0.2:80が実行中の時のみページが表示されるようになりました。また、この時に限りphpが使用可能となりました。ありがとうございます。
cateye

2019/12/16 16:27

回答しちゃったけどw・・・解決してよかったです。
guest

回答2

0

ベストアンサー

"Address in use"って言われてるからポート番号変えましょう。で、http://172.20.0.2:ポート/ファイル名
イメージ説明

投稿2019/12/16 16:24

cateye

総合スコア6851

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

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

MashuScott

2019/12/16 16:26

回答ありがとうございます。 早別ポートを開放してみます。
guest

0

PHP

1 2<html> 3<body> 4<? php 5phpinfo(); 6?> 7<span>aieuo</span> 8</body> 9</html> 10

じゃなくて

PHp

1<!DOCTYPE html><!--表示には関わらないけど必須なので--> 2<html> 3<body> 4<?php //?とphpの間にスペース入れない 5phpinfo(); 6?> 7<span>aieuo</span> 8</body> 9</html> 10

投稿2019/12/16 15:45

編集2019/12/16 15:46
kyoya0819

総合スコア10429

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

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

MashuScott

2019/12/16 15:50

回答ありがとうございます。 隙間を埋めてみましたが、やはりphpinfoが正常に表示されませんでした。 もう一度apache側の設定を確認してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問