トップページphp
1001コメント346KB

【PHP】質問スレッドpart34【php】

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2006/03/21(火) 10:19:14ID:???
PHP全般の質問スレです。>>2-10も参照。

【ガイドライン】
質問の前にgoogleやマニュアルを検索してください。
http://www.php.net/manual/ja/
http://php.s3.to/namazu/


◆質問する場合の注意
1. 自分のIDを表示させること。(メール欄には何も記述しないでください)
2. ハードウェア、OSのバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。
5. 質問者としても態度をわきまえること。


◆質問後の注意
・質問者は必ずIDを表示させてください。
  書き込む場合はメール欄に何も記述しないでください。
・2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
  (逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)
・解決しなくても回答をもらった場合はお礼を言う。
  (荒らし、煽りは除く)

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)

過去スレ、関連リンク、FAQ等>>2-10辺り
0881nobodyさん2006/05/13(土) 22:36:10ID:???
>>880
WindowsにSMTPサーバは入ってない
0882nobodyさん2006/05/13(土) 22:45:36ID:sR0lmg54
お返事遅れました

>>867
Apacheはちゃんと動きます。
でも、PHPを実行させたときにどうやってApacheを使うかわかりません

0883nobodyさん2006/05/13(土) 22:46:31ID:???
>>881
Windowsの場合は、ローカルにSMTPサーバは不要。
0884nobodyさん2006/05/13(土) 23:04:46ID:sR0lmg54
Apacheのインストール
(http://www.apache.jp/dist/httpd/binaries/win32/apache_2.2.2-win32-x86-no_ssl.msi )
動作確認(http://localhost/)OK
PHPのインストール(PHP 4.4.2)
ApacheとPHPの連携
conf/httpd.confが見つからないので書き換えできない

とりあえずここまで作業進めたんですけど。
PHPを自分の鯖で実行というのはどうすればできるのですか?
0885nobodyさん2006/05/13(土) 23:24:47ID:???
>>884
上でも言われたように、マニュアル読もうぜ。
ttp://www.php.net/manual/ja/install.windows.php
それと、apache2.2系列は内部的に大きく変更があったので、PHP側の対応が追いついていない。
2.0系列を使うよろし。
(snapshot版の方は使えるが、普通のユーザはそこまでして使う理由はあるまい)
0886nobodyさん2006/05/14(日) 00:47:47ID:fxMAnAYJ
俺は普通にApache 2.2 使ってるんだが、対応が追いついてないところを教えてほしい
0887nobodyさん2006/05/14(日) 00:50:00ID:w7OEC7Lo
>>885
ごめんなさい、Apache2.0.58でした。
マニュアル読んでみたのですが、
CGI バイナリの使用じゃなくてApache モジュールの使用で大丈夫なのですよね?

php4apache2.dllがPHPにもApacheにもないんですけど、別途ダウソ必要なんですか?
0888nobodyさん2006/05/14(日) 00:51:06ID:???
>>887
phpのzipアーカイブを解凍したら出てくる
0889nobodyさん2006/05/14(日) 00:54:19ID:w7OEC7Lo
>>888
ZIPすらありませぬ・・・
0890nobodyさん2006/05/14(日) 00:54:19ID:???
>>887
/sapi にあるだろ
0891nobodyさん2006/05/14(日) 00:56:48ID:w7OEC7Lo
>>890
Apacheですか?
PHPの中にはフォルダが3つとファイルがちょこっとです。
0892nobodyさん2006/05/14(日) 01:21:46ID:???
>>887
ttp://www.php.net/downloads.php
Installer なんか使うな。CGI only ってわざわざ書かれてるだろう。
ZIP 版使ってインストールやり直せ。
つーかマニュアルちゃんと嫁
08938782006/05/14(日) 10:52:28ID:Kk5ImAZs
SMTPを用意したら動くんですね、やってみます。ローカルホストのみの使用です。
0894nobodyさん2006/05/14(日) 12:59:06ID:w7OEC7Lo
>>892
すんません。
設定はできました。
index.phpを作って実行したのですけど、IEで開いても何もおきません。
Sleipnilで開くと、index.phpのダウンロードになります。
実行されないです¨
0895nobodyさん2006/05/14(日) 13:34:17ID:???
ていうかそんなの参考書の一番初めに書いてるだろ。設定されてねーんだよ。そのくらい買ってこいよ。
0896nobodyさん2006/05/14(日) 14:46:14ID:???
>>894
.phpでPHPモジュールを実行する、という設定がApacheに足りてない
0897nobodyさん2006/05/14(日) 14:55:31ID:???
>>893
Windows版では簡易的(本当に簡易的)にSMTPを話す機能が
組み込まれてるから別途MTAを用意しなくても構わない。
WindowsだとスタンダードなMTAを用意するの面倒でしょ。
0898nobodyさん2006/05/14(日) 15:55:45ID:???
MTAって何って香具師がいっぱい居る悪寒。とにかくぐぐれ(w


ところでmysql_query()とかで得たSQLの結果を、そのままmysqlみたいに表示するにはどうすればいい?
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
ってのは、地道にmysql_field_name()とmysql_fetch_row()とechoを駆使するしか無い?
echo "+----------+\n"
echo "| ", mysql_field_name($result, 0), " |\n";
echo "+----------+\n"
while($i = mysql_fetch_row($result)) {
echo "| $i[0] |\n";
}
echo "+----------+\n"
なんか面倒だね(w
0899nobodyさん2006/05/14(日) 16:30:11ID:???
さっそくですが質問させてください。MTAてなんですか?
0900nobodyさん2006/05/14(日) 16:43:16ID:???
>>898
そのレベルで面倒とか言われると…
そもそもmysql形式での表示が面倒くさいんだよな。
while($data = mysql_fetch_assoc($result)) {
foreach($data as $k => $v) {
echo "$k: $v "
}
echo "\n";
}
こっちの方がよほど簡単で利便性も高いと思うんだがダメか?
0901nobodyさん2006/05/14(日) 16:51:58ID:???
systemでmysql実行してmysqlの出力受けとりゃいい
0902nobodyさん2006/05/14(日) 17:00:33ID:???
>>899
M まぁ!
T チンコ
A 暖かい!
0903nobodyさん2006/05/14(日) 17:03:16ID:???
氏ねカスがいノドアメイジンググレイスカイライン工場
0904nobodyさん2006/05/14(日) 17:14:57ID:???
>>899
Mail Transfer Agent。sendmail/qmail/postfixなんかの、主にメールの配送を行うソフトウェアのこと。
ついでにMDA, MUAなんかを調べておくといいよ。で、お前に言いたいのだが

      , イ)ィ -─ ──- 、ミヽ
      ノ /,.-‐'"´ `ヾj ii /  Λ
    ,イ// ^ヽj(二フ'"´ ̄`ヾ、ノイ{
   ノ/,/ミ三ニヲ´        ゙、ノi!
  {V /ミ三二,イ ,  /,   ,\  Yソ
  レ'/三二彡イ  .:ィこラ   ;:こラ  j{
  V;;;::. ;ヲヾ!V    ー '′ i ー ' ソ
   Vニミ( 入 、      r  j  ,′
   ヾミ、`ゝ  ` ー--‐'ゞニ<‐-イ
     ヽ ヽ     -''ニニ‐  /
        |  `、     ⌒  ,/
       |    >┻━┻'r‐'´
      ヽ_         |
         ヽ _ _ 」    

  ググレカス [ Gugurecus ]
  ( 2006 〜 没年不明 )
0905nobodyさん2006/05/14(日) 17:39:32ID:???
>>900
Database: mysql
Database: test
って表示か。
これって何形式? >>900形式フォーマット?

>>901
マジでやってそうな香具師が居る所が恐ス(w
パスワード変更を、$passwd_done = system('sudo mysqladmin -u user password new_password'); とか。
0906nobodyさん2006/05/14(日) 17:44:24ID:???
>>905
わざわざXX形式とか意識してダンプすんの?
0907nobodyさん2006/05/14(日) 17:47:30ID:???
>>898
while($data = mysql_fetch_assoc($result)) print_r($data);
でじゅーぶん
0908nobodyさん2006/05/14(日) 18:04:13ID:???
>>899
M マンコ
T チンコ
A アナル
0909nobodyさん2006/05/14(日) 18:05:11ID:???
Array
(
[Database] => mysql
)
Array
(
[Database] => test
)
1行はいいね。デバック向けかも。でも表示はたくさんあると凄ス(w
0910nobodyさん2006/05/14(日) 18:32:02ID:???
だれか903のガイドライン建ててください。
0911nobodyさん2006/05/14(日) 20:37:05ID:???
>>905
あれれ、最初からrootにしといてsudoは省略するのが常識ですよ。
0912nobodyさん2006/05/14(日) 20:54:40ID:Kk5ImAZs
WINDOWS環境でMAIL関数が使えておられる方いらっしゃいますか?
0913nobodyさん2006/05/14(日) 21:10:30ID:???
>>912
windowsの場合、SMTPサーバにネットワーク接続してメールを送信する。
相手のSMTPサーバ名はphp.iniのSMTPで設定する。
(マニュアルのwindowsの場合は.. という但し書きは、このためのもの)
ローカルホストだけで運用するなら、ローカルホストでSMTPサーバを立ち上げる必要がある。

プロバイダのメールサーバを使う事もできるが、プロバイダ側の方針で
pop befor smtpなどを使う必要があるのならあきらめれ。
(pearのパッケージに対応したものはある)

Unix系の場合は、メール送信プログラムを直接起動している
(なので、sendmailへのファイルパスを適切に設定する必要がある)
0914nobodyさん2006/05/14(日) 21:13:38ID:???
ちょっと脳みそ貸してください

adodbでデバッグしているのですが、<html>がはじまる前にprintでデバッグ情報を
出力します。これによりHTMLがくずれます。

できれば別ウィンドウなどでデバッグ情報を出力したいのですが、よい方法ってないで
しょうか?

できれば、その他の自分が書いたHTML以前に出力するデバッグprintをまとめて
別ウィンドウで出したいのですが、よい方法ってないですか?
0915nobodyさん2006/05/14(日) 21:24:03ID:???
ob_start()とかの出力制御関数を使えばよくね?
0916nobodyさん2006/05/14(日) 21:40:03ID:yvznY1na
phpはあまり触ったことがないのですが、私の運営する個人サイトに
一行コメントをつけたいと考えています。
できれば自分でつくってみたいのですが、最低限の(コメントする)機能を
一から解説しているサイトはないでしょうか?

googleで調べたらみつからなかったので、ヒントなどでもよろしくお願いします。
0917nobodyさん2006/05/14(日) 22:16:25ID:???
914さんありがとうございます。教えていただいたことをもとにやってみます。
0918nobodyさん2006/05/14(日) 22:40:10ID:???
root権限でphp動かしてるなんて凄杉。
まあウィンドウズだとアドミン権限実行は普通だろうけど。

別に、phpにこだわらず一行掲示板のCGIスクリプトを拾って来て設置したほうが速いと思う。
ググっても見つけられないとか、解説サイト求めてる程度だし。php本でも買って一から覚える気もないでしょ?
0919nobodyさん2006/05/14(日) 22:44:35ID:???
よかったら作りますよ。どちらにお住まいですか?
0920nobodyさん2006/05/14(日) 23:25:53ID:???
>>916
そんなくだらんプログラムを一から解説してる暇なサイトは確かに見たことないかも…
0921nobodyさん2006/05/14(日) 23:32:56ID:???
☆★☆掲示板の作り方☆★☆
http://pc8.2ch.net/test/read.cgi/php/1097759967/l50

せっかくだからPHPで掲示板作ってみませんか?
http://pc8.2ch.net/test/read.cgi/php/982779383/l50

オマエラPHPで掲示板つくれませんか?
http://pc8.2ch.net/test/read.cgi/php/1026233119/l50
0922nobodyさん2006/05/14(日) 23:39:34ID:yvznY1na
>>921
お、ありがとうございます。
現在、実は既にcgiで掲示板も動いていて、ムーバブルタイプも動いてたりするのですが、
別にブログほど大げさじゃなくて、自宅サーバであんまり思いの処理させるのも嫌だったので
じゃ、phpでやってみようかなとなったわけです。
というわけで、いってみます
0923nobodyさん2006/05/15(月) 01:26:32ID:???
>>919がスルーされてるのでワロタ
0924nobodyさん2006/05/15(月) 06:31:02ID:???
リンク集にタグなどをつけて、閲覧者が指定したタグのものを表示〜
というのをしたいんですが
これってSQL使わないと処理が重くなりすぎますか?

1つのリンクを1つのxmlファイルにしちゃうのが楽そうだなあと思っているんですが。
0925nobodyさん2006/05/15(月) 06:31:57ID:???
ちなみにリンクの数は4桁いく予定です。
0926nobodyさん2006/05/15(月) 06:35:11ID:???
>>924
ごめん。「タグ」の意味がわかんない。
0927924 9252006/05/15(月) 06:40:18ID:???
すみません。
キーワードといったほうがいいんですかね。

ディレクトリみたいな分類方法ではなく、
一つのリンクに対して複数のキーワードを指定するタイプのものです。
0928nobodyさん2006/05/15(月) 08:14:18ID:???
>>924
アクセス数にもよる。まあRDBMS使うことになるだろう。
リンク数>>関連ワード種なら関連ワードでインデクシングすればファイルでもそんな重くならないと思う
0929nobodyさん2006/05/15(月) 08:28:16ID:???
更新頻度にも寄るなあ。
滅多に更新しないようなのなら、手元のスクリプトでHTML生成させてうpさせるだけでも十分だし。
09308942006/05/15(月) 09:08:33ID:JZwWRF2V
# PHP 4 の場合
LoadModule php4_module "c:/php/php4apache2.dll"
# sapi ディレクトリから php4apache2.dll をコピーするのを忘れないこと!
AddType application/x-httpd-php .php

# PHP 5 の場合
LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php

# php.ini の場所を設定
PHPIniDir "C:/php"


これですよね。
ちゃんと設定したのですが・・・
0931nobodyさん2006/05/15(月) 11:46:54ID:xX88XBiy
質問です。

あるドメイン名が既に取得されているか、まだ取得されていないかを
確かめるにはどのようにすればいいでしょうか?
たとえば、『abc.com』の場合は1を返し、『ouashoghasoifpoashfua.com』
の場合は0を返す、というようにしたいです。

OS・バージョン:CentOSのバージョン2
やってみたこと:『$result = `whois abc.com`;』の結果に"not found"や"no match"が
         含まれているかどうか、という判断基準では思った結果が得られませんでした。

よろしくお願いします。
0932nobodyさん2006/05/15(月) 12:17:27ID:???
>>930
Apacheの再起動
Apacheのエラーログを見る
0933nobodyさん2006/05/15(月) 12:35:24ID:???
>>931

http://pear.php.net/package/Net_Whois
0934nobodyさん2006/05/15(月) 13:13:07ID:JZwWRF2V
>>932
どこか、PHP+Apacheを詳しく紹介しているサイトありませんか?
0935nobodyさん2006/05/15(月) 13:13:48ID:???
ぐぐれば見つかるだろ
0936nobodyさん2006/05/15(月) 14:30:17ID:xX88XBiy
>>933さん
ありがとうございます。
しかし会社の都合でPearは使えないので、純粋にPHPだけでやりたいのですが…
無理でしょうか?
0937nobodyさん2006/05/15(月) 14:34:48ID:???
Pearったってアップロードすりゃいいだけじゃん。
特にNet_whoisなんて.phpファイル1個しか無いんだから。
これって純粋にPHPだけじゃないのか?
0938nobodyさん2006/05/15(月) 15:16:12ID:xX88XBiy
>>937さん
なるほど、そうだったんですね。知りませんでした。
ttp://www.res-system.com/weblog/item/572
↑これを参考にやってみたのですが、どうもWhoisの結果を返してくれるだけのようなのですが…
『ドメインが取得済みかどうか』を調べることもできるのでしょうか?
英語が全然ダメなものですみません…
0939nobodyさん2006/05/15(月) 15:25:18ID:???
>>938

そもそも、
>やってみたこと:『$result = `whois abc.com`;』の結果に"not found"や"no match"が
>         含まれているかどうか、という判断基準では思った結果が得られませんでした。

思った結果とはなに?
0940nobodyさん2006/05/15(月) 15:34:51ID:xX88XBiy
>>939さん
> あるドメイン名が既に取得されているか、まだ取得されていないかを確かめる
という部分です。たとえば、

if(eregi("not found") || eregi("no match")){
return 0;
}else{
return 1;
}

とした場合には、取得済みドメインのWhoisの結果でも「not found」という文字が含まれている場合があるため、
『取得されているかどうかの判定』にはならなかった、という意味で書きました。
わかりにくくてすみません。
0941nobodyさん2006/05/15(月) 15:35:25ID:???
.JPの場合、
>※ レジストリデータベースに該当するデータが存在しないだけであり、
>そのドメイン名などの登録を保証するものではありません。
>登録可能かどうかを確認する場合はhttp://jpsearch.jp/ をご覧ください。
なんてあるから、http://jpsearch.jp/にクエリー投げて、レスポンスを分析すれば
いいんじゃない?
0942nobodyさん2006/05/15(月) 15:49:52ID:xX88XBiy
>>941さん
やはり返ってきたデータを分析するしかないんですかね…
.comや.twなど様々なドメインに対応する必要があるので、レジストリごとに分析してやる必要がありそうです。
かなりめんどくさいですががんばります。
ありがとうございました。
0943nobodyさん2006/05/15(月) 16:21:10ID:???
ファイルとディレクトリ削除の質問です。
ディレクトリ内に3つのファイルがあった場合、

unlink(a.gif);
unlink(b.gif);
unlink(c.gif);
rmdir(hoge);

で、ディレクトリ内のファイルは削除されますが、ファイルが5つあるけど
実際にデータベースに登録されているファイルは3つの場合、2つ削除出来ないから
エラーになります。

つまり、ディレクトリごとすべて削除する場合、どうすればいいのでしょうか?
0944nobodyさん2006/05/15(月) 16:28:14ID:???
ディレクトリ内のファイル一覧を取得して削除。
何が難しいの?ハテ??
09459432006/05/15(月) 16:48:39ID:???
>>944
ありがとうございます。下記のように書いてみたのですが、
unlink(.../files/hoge..): Is a directory in
というようなエラーが出ます。しかし、ディレクトリは削除出来ています。
どこがおかしいのでしょうか?

<?
$name="hoge";
$dir_name="../files/$name/";
$dh=opendir($dir_name);
while($file=readdir($dh)){
unlink($dir_name . $file);
}
rmdir("../files/$name");
closedir($dh);
?>
0946nobodyさん2006/05/15(月) 17:09:21ID:???
推測だけど
opendir($dir_name);した時点でカレント移動してて
ディレクトリのズレが生じてる気がする
相対パスじゃなくて絶対でやってみて
09479432006/05/15(月) 17:17:55ID:???
絶対パスにするとは、例えば以下のような事ですか?
$dir_name="../files/$name/";

$dir_name="http://***.com/files/$name/";

しかし、こうするとfailed to open dir: not implemented inというエラーが出ます。
0948nobodyさん2006/05/15(月) 17:43:43ID:???
違うよ・・・
鯖によって違うと思うけど↓みたいなやつ
/virtual/user/public_html/
0949nobodyさん2006/05/15(月) 17:46:34ID:???
ごめん上のカレントとかは忘れて、エラー見てなかった
ディレクトリ関数つかったら
.   カレント
..  親ディレクトリ
のパスのあとにファイル名とかくるから
is_file()でファイルが確認してからunlinkして
0950nobodyさん2006/05/15(月) 18:12:52ID:???
CURLで他所からHTMLを取って来て、具をGDでレンダリングしてくれる
イカすライブラリはありませんか?
09519432006/05/15(月) 18:20:41ID:???
>>948-949
ちょっと変ですが、以下のソースで出来ました!アドバイスありがとうございました。

<?
$name="hoge";
$dir_name="../files/";
$dh=opendir("$dir_name/$name/");
$dir_name_path="$file_name/$c_id/";
while($file=readdir($dh)){
if(is_file($file)){
unlink($dir_name_path . $file);
}
}
rmdir("$dir_name/$name");
closedir($dh);
?>
0952nobodyさん2006/05/15(月) 20:56:00ID:???
>>951
解決したみたいだけど、ディレクトリの中の全ファイル削除ならそれで問題ないと思う。
ディレクトリの中に更にディレクトリとかあるのなら話しは別だけど。

>>945のエラーについては、$fileを出力すればエラーの理由が分かると思うよ。
09539432006/05/15(月) 21:33:59ID:???
何度もすみません。。
readdirを使うと0があるファイル名を読み込む時、FALSEと見なして
意図しない動作になると、リファレンスに記述がありました。

事実、それでずっと特定のファイルが削除されずに悩んでいたのですが、
ローマ字だけのファイルなどは問題なく削除されるので、0の問題があると思います。
上記のソースで、0を含むファイル名の場合の対処法をご存じであれば教えて下さい
0954nobodyさん2006/05/15(月) 21:38:33ID:???
>>953
while(($file=readdir($dh)) !== FALSE){
09559432006/05/15(月) 21:42:50ID:???
>>954
ありがとうございます。ただ、それにしたのですが、特に無反応でした。
ファイル表示も削除もされませんでした・・・
0956nobodyさん2006/05/15(月) 21:51:39ID:???
>>953
readdirで正常動作しないのは「0」という名前のファイルのときであって
0を含むというだけなら全然関係ない。
別の問題があるんじゃないか?具体的にどんなファイル名が表示できてないのよ。
09579432006/05/15(月) 22:03:00ID:???
>>956
マイクロタイム形式の「1140930321.jpg」こういうファイルです。
例えばtest.jpgとかindex.phpとかのファイルの場合は、問題なく削除出来ます。

同じソースでそういうわけなので、「0」の問題かと思っています。
かれこれ2時間悩んであれこれテストしてみたのですが、いきつく結果は
それかと思っているのですが・・。
0958nobodyさん2006/05/15(月) 22:05:36ID:???
>>957
それは0は関係ない。
ソースってこれか?
while($file=readdir($dh)){
if(is_file($file)){
unlink($dir_name_path . $file);
}
}
> if(is_file($file)){

if(is_file($dir_name_path . $file)){
にしてもダメか?
0959nobodyさん2006/05/15(月) 22:07:24ID:???
つーか
$dh=opendir("$dir_name/$name/");
$dir_name_path="$file_name/$c_id/";
なんでopendirの引数と$dir_name_pathの内容が違うの?
09609432006/05/15(月) 22:08:18ID:???
>>958
if(is_file($dir_name_path . $file)){

これにしたら出来ました!!
自分ではどうしてかよくわからないのですが、、もう一度調べてみます。
何度もありがとうございました。
0961nobodyさん2006/05/15(月) 22:09:34ID:???
逆に、ローマ字だけのファイルなら動いてたって方が怖いくらいだ。
09629432006/05/15(月) 22:10:12ID:???
>>959
すみません、色々とやってたので変更せずにそのまま投稿してしまいました・・。
ただしくは
$dh=opendir("$dir_name/$name/");
$dir_name_path="$dir_name/$name/";

です。。
09639432006/05/15(月) 22:11:45ID:???
>>961
何か理由があるんですかね?全く持って不思議ですが・・。
私の書き方にも問題あると思いますが、動作しない理由が
よくわからないことがあります。リファレンス見ながらやっているのですが・・。

とりあえず、大変参考になりました。これでディレクトリ内一括削除はできそうです。
0964nobodyさん2006/05/15(月) 22:15:46ID:???
>>963
is_file($file)だとパスなしのファイル名になるから
実際はカレントディレクトリにそのファイルがあるかどうか、を判別してる。
多分、削除できてたローマ字ファイル名とやらは該当のディレクトリだけじゃなく
プログラムと同じ場所にも同名ファイルが置いてあって、
数字のファイル名は該当のディレクトリにしか無かったというオチ。
0965nobodyさん2006/05/16(火) 02:12:09ID:luYBLTx6
LoadModule php4_module C:/php/sapi/php4apache.dll
これでApacheとPHPを連携させるのですよね。

これで、localhostは見れたのですけど
C:\Program Files\Apache Group\Apache\htdocsに
test.phpを入れてhttp://localhost/test.php
でアクセスすると、
test.phpをダウンロードしますか?と出ます
何の設定が足りていないのでしょうか
0966nobodyさん2006/05/16(火) 02:15:04ID:luYBLTx6
ちなみに、PHPは4.4.2、Apacheは1.3.35
0967nobodyさん2006/05/16(火) 02:15:16ID:???
SELECTタグ(コンボボックス)で、アイテムを選択した瞬間に
別のコンボボックスのデータを変えたいのですが、
どこもかしこも「onChange=""」でJavaScriptの関数を呼び出せ、
としか書いてありません。
JavaScriptに一切頼らず、PHPの処理だけでこれを実現することは不可能なのでしょうか?
0968nobodyさん2006/05/16(火) 03:51:08ID:???
>>965
これで、localhostは見れたのですけど
C:\Program Files\Apache Group\Apache\htdocsに
test.phpを入れてhttp://localhost/test.php

>localhostは見れた

どういうこと?何が見れたの?
0969nobodyさん2006/05/16(火) 03:55:33ID:???
>>967
phpはサーバサイドなので一度サーバになんらか送信しないと表示している画面を変更することはできません。
で、JavaScript(onchange)を使いたくないというなら「無理」
0970nobodyさん2006/05/16(火) 04:07:31ID:???
>>965

えと、寝る前に気がついたので再度(968っす)
http://localhost/でindex.htmlが見れたってことかな
であれば.phpが何で動くかって指定してないのではないかと

AddType application/x-httpd-php .php
とかをhttpd.confに設定してないんじゃない?
09719672006/05/16(火) 04:39:14ID:???
>>969
やっぱりそうでしたか。あんがとですー。
0972nobodyさん2006/05/16(火) 07:36:41ID:???
>>965
Apache1.3ならAddModuleも必要だ
2.0ならいらないけど
0973nobodyさん2006/05/16(火) 07:56:03ID:???
>>972
必要ねぇよ。嘘教えてんなよ。
サンプルのhttpd.confはClearModuleListを使って順序を決めなおしてるから
ちょっと冗長なんだよ。
0974nobodyさん2006/05/16(火) 09:06:05ID:???
>>967
コンボボックスってのはセレクトボックス+テキストボックスで
与えられた選択対象に目的のものがない場合に、ユーザが入力できるUIのことだ。
JavaScriptのライブラリでも使って特別に実装しない限り、コンボボックスにはなり得ない。
0975nobodyさん2006/05/16(火) 09:07:20ID:XeHcc5dB
>>970
AddType application/x-httpd-php .php
と、もうひとつの行は書き込んであります。

>>972
AddModuleが上の設定ではないのですか?

>>973
('A`)ヴァー
0976965(975)2006/05/16(火) 09:09:54ID:XeHcc5dB
すみません、もうひとつ。

LoadModule php4_module "C:/php/php4apache.dll"
AddModule mod_php4.c
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
↑これはhttpd.confに設定しました。


Action application/x-httpd-php "/php/php.exe"
SetEnv PHPRC C:/php
上記の2行は必要ですか?
0977nobodyさん2006/05/16(火) 09:27:07ID:???
モジュールの設定って、こんなに必要ないような気が。
Apache2.0+Winだけど、俺はこれだけ。
LoadModule php4_module "D:/path/to/php4apache2.dll"
AddType application/x-httpd-php .php

Apache再起動したの?
0978965(975)2006/05/16(火) 09:33:27ID:XeHcc5dB
>>977
しました、でも無理でした。
DLLをWINDOWS/system32/にコピーってのは必要なのですか?
0979965(975)2006/05/16(火) 09:39:13ID:XeHcc5dB
とりあえず、今学校なので帰ったら2.0にして、>>977のやり方で試してみます
0980nobodyさん2006/05/16(火) 10:25:30ID:???
>>978
php4ts.dll は WINDOWSフォルダに置いたな(WindowsXP)
レス数が950を超えています。1000を超えると書き込みができなくなります。