<form action = "">でphpスクリプトを組み込もうと思ったのですが、実行してみるとスクリプトを読み込む段階で「~.phpを開くか、または保存しますか?」と聞かれて、スクリプトが実行に移されません。
xampp1.8.1-0をCの真下に入れて使っています。Apacheは2.4です。
Apacheは設定のたびにちゃんと再起動しています。
他に変更するべき場所を教えてください。
httpd.conf
141行目に
LoadModule php5_module c:/php/php5apache2_4.dll
390行目に
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
を追加
php.ini
124行目 output_bufferingから4行分;を外し,125行目のDefault ValueをOnに
707、708行目の;を外し,708行目を
include_path = ".;c:\xampp\php\PEAR;c:\xampp\php\includes"
1724,1730,1734,1739,1747行目の;を外した
コメント(11件)
設定を変更しないでそのまま使ってはいかがでしょう?
Xamppはインストールするだけでそのまま利用できるようになっています。
※ちなみに「LoadModule php5_module "~/php/php5apache2_4.dll"」は「apache/conf/httpd-xampp.conf」で設定されています。
※php.iniも設定を変更しないでそのまま使ってみてください。
「124行目 output_bufferingから4行分;を外し,125行目のDefault ValueをOnに」とありますが、次の箇所のコメントアウトを解除したのでしょうか?
; output_buffering
; Default Value: Off
; Development Value: 4096
; Production Value: 4096
上記は設定値の説明ですので、そのままにしておく必要があります。(「output_buffering」のデフォルト値は「Off」ですが、開発用および運用として「4096」に設定する事を推奨しています。)
少し上の方までスクロールして確認してみてください。次の記述があって、各種項目の説明が続いているはずです。
;;;;;;;;;;;;;;;;;;;
; Quick Reference ;
;;;;;;;;;;;;;;;;;;;
; The following are all the settings which are different in either the production
; or development versions of the INIs with respect to PHP's default behavior.
; Please see the actual settings later in the document for more details as to why
; we recommend these changes in PHP's behavior.
コメントアウトを解除したのはその行です。
httpd.confとphp.iniを何も手の加わっていない状態に戻して試してみましたが、まだうまくいきません。
Xamppのデフォルト画面(※以下公式ページにあるような「http://localhost」で表示される「XAMPP for Windows」という画面)は表示されますか?
http://www.apachefriends.org/jp/xampp-windows.html
「XAMPP for Windows」画面が表示される場合、左側のメニューから「phpinfo()」や「phpMyAdmin」を選択するとどうなりますか?
また、formタグを記述したHTMLファイルの場所とソース(※コードの内容)、呼び出すPHPファイルの場所とソースはどのようになっていますか?
Apacheのポートは8080番で設定していますが、PHP CreditsのところでHostname:Portが80番になっていますが、これは関係ありますか?
HTMLとphpのソースを貼っておきます。本にあったプログラムを打ち込んだものです。
calc1.html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<meta charset="utf-8">
<title>サンプル</title>
</head>
<body>
<h3>合計金額を計算します</h3>
<form action="calc1.php" method="post">
<table>
<tr><td>価格:<input type = "text" size="10" name="price"/>円</td></tr>
<tr><td>数量:<input type = "text" size="10" name="num"/>個</td></tr>
</table>
<div><input type="submit" value="送信"/></div>
</form>
</body>
</html>
calc1.php
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<meta charset="utf-8">
<title>合計額計算</title>
</head>
<body>
<?php
$price = $_POST['price'];
$num = $_POST['num'];
$total = $price * $num;
?>
<div>合計額は<?php echo $total; ?>円です。</div>
</body>
</html>
関係ないと思います。
80番ポートでは不都合があるのでしょうか?
特に理由がないのでしたら、80番に戻してみてはいかがでしょう?
「calc1.html」と「calc1.php」は同じ階層に設置してあるのでしょうか?
場所は「C:\xampp\htdocs\foldername」で、「http://localhost:8080/foldername/calc1.html」でアクセスしているのでしょうか?
具体的にどのように上手くいかないのですか?
こちらでは上記のソースで問題なく動作しました。
確認に使用しているブラウザとバージョンは何ですか?
違うブラウザで試すとどうなるでしょう?
※関係ないようですが、文字コードセットの指定が重複して記述されています。
HTML5の記述は「<meta charset="~">」ですので、「<meta http-equiv="Content-Type" ~>」の方を削除してみてください。
今までは直接htmlファイルをクリックしてアクセスしていました。
上手くいかないというのは、上記のソースで送信ボタンをクリックすると画面下に「OWNER-VAIOからcalc1.phpを開くか、または保存しますか?」が出て、phpスクリプトが実行に移されず、合計額を出すページに飛ばないということです。
ブラウザはIE9です。
htmlをクリックして開くとphp以外の部分はちゃんと動作しますが、http://localhost:8080/calc1.htmlでアクセスすると「Object not found!」と表示されてしまいます。
Google Chormeで試してみたら合計額を表示するページに行けましたが、「合計額は円です」となって、数値を計算した結果が表示されません。
インターネットを閲覧する時と同じように、アドレスを入力してアクセスしてください。
アドレス入力が面倒な場合は、お気に入りに登録しておくといいと思います。
Google Chromeでアクセスできたのでしたら、IEでもアクセスできるはずです。
404エラーになるという事は、アドレスの入力を間違えたのだと思います。
間違いのないように入力して再度アクセスしてみてください。
上記コメントに転載したソースのように「<?php echo $total; ?>」になっていますか?
「<? echo $total; ?>」になっているとPHPは動作せず「合計額は円です」と表示されます。
http://au1.php.net/manual/ja/ini.core.php#ini.short-open-tag
※Xamppでは「short_open_tag」は「Off」に設定されています。
少し誤解させてしまったようですいませんが、Chromeで金額を表示する画面に行けたというのは、直接htmlをクリックしてページに行った時の話(右クリックでプログラムから開くを使用)でした。アドレス直打ちではIEと同じくObject not found!になります。
Hello,worldプログラム(アドレスはお気に入りに入れてあります)
<?php
echo "Hello World!";
?>
さえも同じ状態になります。
Apacheは問題なく起動・停止できます。
「http://localhost:8080」でアクセスした場合、どのような表示になりますか?
ページが表示された時のアドレス欄は「http://localhost:8080」のままですか?
Xamppで起動しているのはApacheだけでしょうか?
Apache以外のプログラムを起動している場合は、すべて停止させて確認してみてください。
※それから、ウェブサーバー関連で、Xampp以外にも何かインストールした事はありますか?
http://localhost:8080でアクセスすると、自動的にURLがhttp://localhost:8080/xampp/になって、XAMPPウィンドウズ版のトップページに飛ばされます。
XAMPPでMySQLも起動していたので、停止させてからファイルにアクセスしましたがだめでした。
サーバー関係のソフトはほかにインストールしたことはありません。
ファイル名はそれぞれ「calc1.html」「calc1.php」で間違いありませんか?
他の場所にあるXamppのhtdocs内にファイルを作成していませんか?
入力しているアドレス(※お気に入りのURL)に間違いはありませんか?(「http://localhost:8080/calc1.html」になっていますか?)
上記に問題が見つからない場合、普通とは違う動作をしているようです。
KTK12さんのPC環境に問題があるかもしれませんので、OSのクリーンインストール(※メーカー製の場合はリカバリー)を行ってから、Xamppを試す方がいいかもしれません。