ローカル開発環境からブラウザでphpファイルを確認できない
解決済
回答 3
投稿
- 評価
- クリップ 2
- VIEW 8,795
<?php
echo "Hello from vagrant!";
というファイルを作り,index.phpという名前でCyberduckに保存して,ブラウザで
192.168.xx.xx/index.php
と入力したのですが,上のソースコードが表示され,ちゃんと「Hello from vagrant」と表示されませんでした.
調べてみると,CentOSのApacheの設定に問題があるようなのでrootで
sudo vi /etc/httpd/conf/httpd.conf
で設定エディタを立ち上げたのですが,どの部分を変更すればちゃんとphpファイルがブラウザで確認できるのかがわかりません.Apacheの設定方法を教えていただけると幸いです.-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
+1
(phpファイル内容が表示できているので問題ないと想定しています。)
- CentOS, PHP, Apacheのインストール
- Firewallの無効化、または適切な設定(HTTPプロトコルの通信許可設定)
- Apacheの設定、起動(/etc/httpd/conf/httpd.conの設定など)
- MySQLは現段階でPHPを動作させる部分には関係ないので除いています
CentOS、Apacheのバージョンが未記載ですが、CentOS7にyumコマンドでインストール可能なApache 2.4.6を想定して回答致します。
検証した環境(ゲストOS:Vagrant上のサーバ)
- CentOS7
- Apache 2.4.6
- php 5.4.16
yumコマンドでApache, phpをインストールすると上記バージョンのApache, phpがインストールされます。
その状態でドキュメントルート(/var/www/html)に記載いただいているphpソースをindex.phpとして保存しブラウザからアクセスすると問題なく「Hello from vagrant」と表示されます。
Apacheの設定ファイルはご認識の通り「/etc/httpd/conf/httpd.conf」ですが、標準では「/etc/httpd/conf.d/」内のxxxx.confも読み込むようになっています。
phpに関しては「/etc/httpd/conf.d/php.conf」に設定があります。
参考に検証した環境のphp.confファイルを以下に記載します。
#
# Cause the PHP interpreter to handle files with a .php extension.
#
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
#
# Allow php to handle Multiviews
#
AddType text/html .php
#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php
#
# Uncomment the following lines to allow PHP to pretty-print .phps
# files as PHP source code:
#
#<FilesMatch \.phps$>
# SetHandler application/x-httpd-php-source
#</FilesMatch>
#
# Apache specific PHP configuration options
# those can be override in each configured vhost
#
php_value session.save_handler "files"
php_value session.save_path "/var/lib/php/session"
「FilesMatch」ディレクティブ部分と「AddType」にて拡張子がphpのファイルをphpファイルとして扱うように指定されています。
ご自身の環境ではどのようになっていますでしょうか。
調べてみると,CentOSのApacheの設定に問題があるようなので
拡張子がphpのファイルをApacheがphpとして扱えていないように思われますので、上記設定をご確認ください。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
?>
は書かれていないのでしょうか?
書かれていなかったら書いてみてもう一度ブラウザでアクセスしてみては
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
それと、サーバ上にSSHログインを行い、php -v コマンドが実行出来ますでしょうか?
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.35%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2015/09/10 23:42
2015/09/11 00:15
同環境を構築して確認してみましたが、yumでapache, phpをインストールした場合、先ほど(CentOS7環境)と同様に「Hello from vagrant!」と表示されました。
/etc/httpd/conf.d/php.confの設定内容ですが、apacheは2.2.x系と2.4.x系において設定ファイルの記述方法に異なる部分があるため、改めて設定内容を記載致します。
再度、ご自身の設定との差異をご確認ください。
```shell
#
# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated webpages.
#
<IfModule prefork.c>
LoadModule php5_module modules/libphp5.so
</IfModule>
<IfModule worker.c>
LoadModule php5_module modules/libphp5-zts.so
</IfModule>
#
# Cause the PHP interpreter to handle files with a .php extension.
#
AddHandler php5-script .php
AddType text/html .php
#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php
#
# Uncomment the following line to allow PHP to pretty-print .phps
# files as PHP source code:
#
#AddType application/x-httpd-php-source .phps
```
2015/09/13 14:10
#
# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated webpages.
#
<IfModule prefork.c>
LoadModule php5_module modules/libphp5.so
</IfModule>
<IfModule !prefork.c>
LoadModule php5_module modules/libphp5-zts.so
</IfModule>
#
# The following lines prevent .user.ini files from being viewed by Web clients.
#
<Files ".user.ini">
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order allow,deny
Deny from all
Satisfy All
eny from all
Satisfy All
</IfModule>
</Files>
#
# Allow php to handle Multiviews
#
AddType text/html .php
#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php
# mod_php options
<IfModule mod_php5.c>
#
# Cause the PHP interpreter to handle files with a .php extension.
#
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
#
# Uncomment the following lines to allow PHP to pretty-print .phps
# files as PHP source code:
#
#<FilesMatch \.phps$>
# SetHandler application/x-httpd-php-source
#</FilesMatch>
#
# Apache specific PHP configuration options
# those can be override in each configured vhost
#
php_value session.save_handler "files"
php_value session.save_path "/var/lib/php/session"
php_value soap.wsdl_cache_dir "/var/lib/php/wsdlcache"
</IfModule>
2015/09/13 16:46
転記ミスと思われる箇所 25-26行目(削除して確認)
---
eny from all
Satisfy All
---
記述されている内容が異なるように見えますが、apacheに設定している内容はほぼ同一です。
* phpモジュールの読み込み(LoadModule)
* php拡張子の場合、phpとして扱う設定(AddType, SetHandler)
* その他、php固有の設定(php_value *****)
問題点の切り分けとして、以下もご確認ください。
* /etc/httpd/conf/httpd.confで/etc/httpd/conf.d/を読み込んでいるか
(Include conf.d/*.conf の記述)
* phpモジュールが読み込まれているか
sudo httpd -M を実行して「php5_module (shared)」が表示されるか
上記のほか、他の質問で/etc/httd/conf/httpd.confの設定変更を変更している箇所があれば、記述が重複しますのでhttpd.confの設定をもとん戻して確認ください。
* DirectoryIndex index.html index.htm index.cgi index.php(index.phpを追加)
* AddType application/x-httpd-php .php
なお、設定ファイル(httpd.confやphp.conf)の設定変更後はapacheの再起動が必要です。
sudo service httpd restartにてapacheの再起動後にブラウザから表示確認をお試しください。
2015/09/14 00:52
2015/11/09 19:09 編集
2015/11/10 11:11
コメント欄ですと後続のやりとりが長くなった場合に大変見づらくなってしまうため、新たに質問を上げていただくことは可能でしょうか。
その際、参考にしているドットインストールのURLもお知らせください。
ドットインストールの内容を確認したら、解決のヒントがあるかもしれないので。
よろしくお願いします。
2015/11/11 13:12
了解です。ご迷惑をお掛けしました。
2015/11/12 01:28
こちらに質問をあげてくださったようですね。
他の方も回答してくださっているようです。
https://teratail.com/questions/19874
ドットインストールのURLもお知らせいただきありがとうございます。
こちらでも確認してみます。