新規無料会員登録で1000名様に電子コミック1000円分が当たる!!

初めまして。php初心者です。

apach2.2、php5をインストールして、

環境設定をしました。

その後、テストで、

秀丸エディタで、

<?php
print"こんにちわ":
?>

といれました。

localhostで接続してみると、
こんにちわのみが表示されるのではなく、

コードが、そのまま文字列として表示されます。

どうすればよいのでしょうか?

何卒、よろしくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

サーバにアップしたファイルの拡張子はphpにしてありますでしょうか。


もし拡張子がtxtなら確かにそのまま表示されますね^^;
拡張子がphpであってapacheとphpが正常に動作していれば
Parse error: syntax error, unexpected ':' in ~.php on line 2
というエラーが出ると思います。
拡張子がphpでもそのまま表示されてしまうようであれば
apacheの設定ファイル(httpd.conf)とPHPの設定ファイル(php.ini)
をもう一度見直された方が良いかと思います。
    • good
    • 2
この回答へのお礼

ありがとうございます!!

解決しました。嬉しいです。

ご丁寧なご説明本当に感謝します。

お礼日時:2007/03/23 15:35

 解説書で使われているApacheやPHPのバージョンと、現在お使いのバージョンは同じでしょうか? もしかしたらApache 2.1.xとか、PHP 5.01とかの、古いバージョンで設定されているために、設定すべき箇所が変わっている場合もあります。


 バージョンを、解説書に表記されているものと同じにするか、あるいは以下のページにあるXAMPPというソフトを使って、自動設定を行ってみてください。
http://www.apachefriends.org/jp/
    • good
    • 0
この回答へのお礼

早速の、ご返信ありがとうございます。
自動設定もできるのですね。
初めて知りました。

早速、試してみます。

お礼日時:2007/03/22 15:06

コードの最後はコロンではなくセミコロンです。


質問内容にあるコードですと、エラーが出るはずなので
エラーが出ないという事は、コードを書いた文書が
テキストファイルになっているんだと思います。
    • good
    • 0
この回答へのお礼

早速のご返信ありがとうございます。
テキストファイルでは駄目なのですね。

もう一度、見直してみます。

お礼日時:2007/03/22 15:08

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qでもただ文字がそのまま表示されるだけ

apache HTTP Server 2.2.15(ファイル名「httpd-2.2.15-win32-x86-no_ssl.msi」)をインストールした後、
php-5.3.2-nts-Win32-VC9-x86.msiをwebサーバーをother CGIでインストールし、
http://localhost/
にアクセスしたところ「It works!」と表示されるのですが、
htdocsフォルダに、メモ帳に<?php phpinfo();?>と書きファイル名をtest.phpに変更したものを置き、
http://localhost/test.php
にアクセスしてもそのまま<?php phpinfo();?>が表示されるだけです。
phpinfoを表示するにはどこをどうすればよいのでしょうか?

いろいろ調べてみたのですが、zipパッケージや古いバージョンのことがかいてあるものしか見つからなくて困っています。

Aベストアンサー

俺も 今では XAMPPに頼りっきりで、http.conf とか php.ini とか さっぱり いじってません。
なので、自分では記憶に残っていない為、ざっと調べてみて、これかな~と思えるサイトがありましたので、ご紹介しておきます。
毎度、たらい回しですみません。
http://y-kit.jp/saba/xp/phpsetup.htm#apache

そして、また 似たような質問が でてますが、それぞれ 状況が違うって感じなんでしょうねぇ。。
http://questionbox.jp.msn.com/qa5794473.html

Qサイトのphpソースコードを表示する方法

参考のためにサイトのphpソースコードを表示する方法を知りたいです。

ある参考書にこのような解説がありました。
『$con = mysql_connect("localhost","sampleID","samplepass");
のようにphp内に直接ユーザ名とパスワードを記載することはいけません。
なぜなら、phpファイルはブラウザからアクセスして見ることができるからです。
対策として、ユーザ名とパスワードを記載したiniファイルを作り、
それをドキュメントルートよりも上位の場所に置くと良いでしょう。』

ブラウザからアクセスして見ることができる、とありますが、
見ることが出来るのは開発担当者達ということでしょうか。

SQLiteのデータベースも同様にドキュメントルートよりも上位の場所に保存
とあるサイトで解説していましたが、専用のソフトとかありますか?

Aベストアンサー

サーバの環境設定や「.htaccess」ファイル等のようなもので間違った設定を行い、
***.phpファイルにアクセスされた場合にPHPとして動作せず
他のHTMLファイルやテキストファイルのようにダウンロード表示されてしまう可能性は多分にあります。
SQLiteのファイルやCSVなんかも、パーミッション等々、正しく設定していなかった場合、簡単にアクセスされてしまいます。

その為、少なくとも、ドキュメントルートより上に直接アクセスされたくないファイルなどを置いて、
require_once, require, include, include_once等によりPHPから参照したりするのが一般的、という事ではないでしょうか。

Qphpinfo()が表示されない

OS: Linux(Fedora Core)
Apache2.0.55
php5.1.2
以上の環境を構築しました。

httpd.confにはLoadModuleでlibphp5.so、
AddType application/x-httpd-php .phpを追加記入。
php.iniも/usr/local/libにコピー済み。
Apacheは正常に起動しております。
ですが、<?php phpinfo() ?>がそのまま表示されて
しまいます。
原因がわかりません。
どなたかご教授願います。情報等足りない点があれば
お知らせ下さい。

Aベストアンサー

#2です。
すいません。今気付きましたが
>AddType application/x-httpd-php .php
>AddType application/x-httpd-php-source .php
の下の行は
AddType application/x-httpd-php-source .phps
のはず。。。
最後の「s」が抜けていませんか?
(というかphpソースを表示する必要がなければこの行はいらないのでは?)

参考URL:PHPマニュアル「Apache2インストール手引き」

参考URL:http://jp.php.net/manual/ja/install.unix.apache2.php

Qsyntax error, unexpected '}' というエラーの対処法

PHPを習い始めて三日目になるのですがParse error: syntax error, unexpected '}' in C:\Program Files\Apache Group\Apache2\htdocs\****\****\game.php on line 33
というエラーがでるのですが33行目前後のどこをなおせばいいのでしょうか?
・game.php
<html>
<head>
<title>数当てゲーム</title>
</head>
<body>
<h1 style="background:#cccccc">数当てゲーム</h1>
<form method="POST" action="game.php">
1~100までの数を入力してください
<input type="text" name="answer" size="5" maxlength="3" />
<input type="sbumit" value=回答" />
</form>
<hr />
<?php
session_start();
if(is_null($_SESSION['answer'])){
mt_stand(microtime()*1000000);
$_SESSION['answer']=mt_rand(1,100);
$_SESSION['game_cnt']=0;
}
if($_POST['answer']!=""){
$_SESSION['game_cnt']++;
if($_session['answer']==$_POST['answer']){
print("おめでとうございます".
$_SESSION['game_cnt']."回で正解しました!");
session_destroy();
}else{
if($_SESSION['answer']>$_POST['answer']){
print("もう少し大きいです。");
}else
print("もう少し小さいです。");
}
}
}
?>
</body>
</html>
それとこの間違えたところをなおしたあとはいつもコンピュータを再起動しないと修正したところが適用されないのですがほかに方法はないですか?基本的な質問ですいません。

PHPを習い始めて三日目になるのですがParse error: syntax error, unexpected '}' in C:\Program Files\Apache Group\Apache2\htdocs\****\****\game.php on line 33
というエラーがでるのですが33行目前後のどこをなおせばいいのでしょうか?
・game.php
<html>
<head>
<title>数当てゲーム</title>
</head>
<body>
<h1 style="background:#cccccc">数当てゲーム</h1>
<form method="POST" action="game.php">
1~100までの数を入力してください
<input type="text" name="answer" size="5" max...続きを読む

Aベストアンサー

print("もう少し大きいです。");
}else
print("もう少し小さいです。");
のelseの後に{がないようですが、大丈夫でしょうか?

Qブラウザによってはソースが表示される

ローカル環境でphpで書いたHPをテストしました。IEではうまくいきますが、FirefoxやOperaではphpソースが表示されてしまいます。見てみると、アローの>や比較演算子の>をphpの終了タグと認識しているようで、そのあとのソースが表示されています。いまは<?phpと?>を使っていますが、ためしに<script language="php"></script>にしてみたらうまくいきました。しかし、formの中で変数を使うのにvalue="<?=$変数 ?>"というように使っているところはその書き方に直していられないようにおもいます。HTMLのヘッダは確認しましたが、ほかにどんな間違いが考えられるでしょうか?

Aベストアンサー

質問を読む限り、PHPが動作していないのでしょう。
PHPのインストールとApache?の設定を見直して
<?php phpinfo(); ?> が動作することを確認してみてください。

> >をphpの終了タグと認識しているようで
HTMLの終了タグとして認識しているのでしょう。

> <script language="php"></script>
PHPはサーバーサイドで動作するプログラムです。

> IEではうまくいきますが
IEはHTMLの不正な記述をある程度吸収してくれます。

インストールや設定の質問をされる場合は、WEBサーバ、PHPのバージョンをお忘れなく。

QParse error: syntax error, unexpected T_STRING in・・・118と出るのですが

Parse error: syntax error, unexpected T_STRING in 。。。 on line 118
とでるのですが対処はどうすればよろしいでしょうか?

Aベストアンサー

118行目をみてみてください。
ダブルクォーテーションのなかでダブルクォーテーションを使ったり
してませんか?
基本的な文法ミスなので、自己解決できないと今後きびしいですよ。

QApacheでhttp://localhost/が表示されない

Apacheバージョン2.0.50をインストールし、設定ファイルは一切変更していない状態でhttp://localhostと入力しても「あなたの予想に反して・・・」のページが表示されません。
何回かApacheの再インストールも試してみましたが変化がありません。
ローカルで動作確認するだけなので、インストールにあたってNetworkDomainなどのアドレスは「localhost」を入力しています。
何か原因を特定する方法はありませんでしょうか。
ちなみにOSはWindowsXPのHomeEditionです。

Aベストアンサー

(1) まずは、Apacheが起動しているか確認しましょう。
  これは管理ツールのサービス、Apache Server Monitorを見ればわかります。

(2) ポート番号80がLISTEN状態になっているか確認しましょう。
  これはnetstatコマンドで確認できます。

(3) パーソナルファイアウォールソフトをインストールしているなら、
  localhost:80 からの接続を許可しているか確認してみましょう。

(4) IISなど、他のwebサーバを同時に動かしていないか確認してみましょう。

(5) ブラウザでプロクシサーバを指定しているのでしたら、
  localhostはプロクシーを見ない、など設定してみてください。


ほかにもいろいろありますが、Apacheの設定の前に、これくらいは確認しましょう。

Q配列をPOSTで受けとる

タイトルのまんまですが
配列をformで送って
それをPOSTで受け取りたいのですが
うまくいきません

具体的に言うと
<?php
print"<form method=POST action=action.php>";

for($i=0; $i<$n; $i++){
   print"<input type=text name=foo[$i]>";
}
print"<input type=hidden name=n value=$n>";
print"<input type=submit value=go>";
print"<form>";
?>


///////////以下action.php//////////////////
<?php
$n = $_POST["n"];
for($j=0; $j<$n; $j++){
   $foo[$j] = $_POST["foo[$j]"];
   print"$foo[$j]";
}
?>


こんな感じのことがしたいのですが
うまくいきません
どうもPOSTされてないみたいでfoo[$j]はnullです
凡ミスな気がしなくもないんですが...プログラム初心者なんで↓↓
教えてください
よろしくお願いします

タイトルのまんまですが
配列をformで送って
それをPOSTで受け取りたいのですが
うまくいきません

具体的に言うと
<?php
print"<form method=POST action=action.php>";

for($i=0; $i<$n; $i++){
   print"<input type=text name=foo[$i]>";
}
print"<input type=hidden name=n value=$n>";
print"<input type=submit value=go>";
print"<form>";
?>


///////////以下action.php//////////////////
<?php
$n = $_POST["n"];
for($j=0; $j<$n; $j++){
   $foo[$j] = $_POST["foo[$j...続きを読む

Aベストアンサー

atsuGTさんこんにちは。


受け取り側は

$foo = $_POST["foo"];

とするだけで$fooに送信された配列が格納されます。


$_POST["foo[添え字]"] ではなく、
$_POST["foo"][添え字] となります。

QボタンをクリックでPHP文を実行

ボタンをクリックしたときのみPHP文を実行したいのですが・・・

<input type="button" onClink="<?php~?>">
でいけるかと思ったのですが、
ページ表示時に<?php~?>が実行されてしまい、うまくいきませんでした。

onClink="window.open(test.php)"
という方法以外でお願いします。

Aベストアンサー

AjaxはもともとJavaScriptの機能である非同期通信をつかったもので。Ajaxという言語があるわけではありません

Ajaxを利用するのであれば、JavaScriptのXMLHttpRequestを使って非同期通信できるような実装をしなくてはなりません
簡単にサンプルコードで書けるほど単純なものでもありません

一般的なサーバーサイドスクリプトの動作として、
ボタンを押す->サーバーへリクエストする->サーバーが処理する->クライアントに何かしらの結果を返す(出力する)です
つまり、PHP等のサーバーサイドスクリプトは、遷移させることが大前提で動作します

ですから、ボタンを押してその場でJavaScriptと同じようにPHPが動くなんてことはありえません。
ボタンを押したらサーバーにリクエストする という動作ならば可能です。

つまり
質問で言われているような
onClink="window.open(test.php)"

<form name="f1" action="test.php" method="post">
<input type="submit" name="submit" value="submit" />
</form>
等のような形になります

こういった一般的な方法だと いちいち画面が切り替わったようになってしまうのを嫌って Ajaxでコレと同じことを、画面を切り替えずに行っているだけに過ぎません

AjaxはもともとJavaScriptの機能である非同期通信をつかったもので。Ajaxという言語があるわけではありません

Ajaxを利用するのであれば、JavaScriptのXMLHttpRequestを使って非同期通信できるような実装をしなくてはなりません
簡単にサンプルコードで書けるほど単純なものでもありません

一般的なサーバーサイドスクリプトの動作として、
ボタンを押す->サーバーへリクエストする->サーバーが処理する->クライアントに何かしらの結果を返す(出力する)です
つまり、PHP等のサーバーサイドスクリプトは、...続きを読む

Qインストールされているディレクトリを知るコマンドはありませんか?

phpのconfigerをするのに、
phpのインストールされているパスへ移動しなくてはいけませんが、
phpがどこにインストールされているかわかりません。

 rpm -qf php-4.0.6-7

とすると

 エラー: ファイル php-4.0.6-7: そのようなファイルやディレクトリはありません

と表示されてしまうのです。
rpmのサイトを見てオプションを設定して表示された結果から
ディレクトリを移動しても
コンフィギャーできるところに辿り着きませんでした。

どうしたらインストールされているディレクトリを
知ることができるでしょうか?

OSは以下の通りです。
AIX Version 4 もしくは LASER5 Linux release 7.2

今月が納期で生じたバグ対応のため大変困っています。
質問場所が違っていたら申し訳ないですが、
よろしくお願いいたします。

Aベストアンサー

Laser5に限っての話ですが、標準のインストールでphpはインストールされるはずですが。

# rpm -qa | grep -i php

でphpのパッケージ名は表示されませんか?

findを実行した結果、

php(コマンド)
libphp4.so(ライブラリ)
php.ini(設定ファイル)

等も見つからないのでしょうか?
もしそうならphpはパッケージもソースでもインストールされていない可能性があります。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング