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

【PHP】質問スレッドPart3

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。02/02/17 13:23ID:N+9Uw5dE
レスは気長に待つのが良い感じかも。
答えられる方、返答よろしくお願いします。

<<参考リンク>>
■本家
http://www.php.net/
■PHP日本語マニュアル
http://www.php.net/manual/ja/
■JapanPHPUsersGroup
http://www.php.gr.jp/
■PHP日本語ページ
http://www.cityfujisawa.ne.jp/~louis/apps/phpfi/index.html
■Pearのドキュメント
http://phpdocu.sourceforge.net/peardocs/

<<過去スレ>>
■【PHP】質問スレッドPart1
http://ebi.2ch.net/test/read.cgi/php/982687820/
■【PHP】質問スレッドPart2
http://pc.2ch.net/test/read.cgi/php/1003283567/

<<教えて君>>
■ここ見習って書き込んじゃ、駄目よ
http://pc.2ch.net/test/read.cgi/unix/1011345180/242-245
055255002/04/12 14:31ID:???
>>551
そです。formの中に入れます。
原始的だけど一般的かつそこそこ確実な方法。
0553nobodyさん02/04/12 14:34ID:???
>>551
ただし、hiddenだとHTMLのソース見られると渡している値が
わかっちゃうけどね。
まあ、HTMLを知らない人には全然わからないだろうから、
その程度の隠し方でいいならhiddenが一番簡単じゃないかな。
055454702/04/12 14:56ID:???
なるほどー。たしかにソースにバッチリでちゃうな。
しかもこれはこのhtmlをローカルに保存してhtml書き換えれば
送る値を自分でコントロールできるってことだよね?

どーしよっかなぁ。まあでもURLに出るよりは数倍いいか。

暗号化はめんどいんで、この方法で逝ってみます。
055554702/04/12 14:59ID:???
ちょっとまった。

これって<form>にいれるってことは、当然submitボタンで
ページ間を移動するってこと?リンク(a href)では
値を渡せないですよね?

まいったなぁ。

暗号化か・・・。
0556nobodyさん02/04/12 15:16ID:???
じゃあセッション使えよ。
055754702/04/12 15:25ID:???
>>556また知らない言葉がでてきた・・・。セッション。
急いで調べてみたけど、かなり使えそう。
$_SESSION[]こういう配列になるってことですかね?これは。
[]の中に好きな数字なり言葉なりをいれて。

セッションIDってのは使い捨てでいいんですか?
定義や開放は必要ですか?
unset()ってのがあったんですが、これやらないと
すごい負荷になったりするんでしょうか?
055854702/04/12 15:54ID:???
AN HTTPD + php4.1.1ですが、
なんだかエラーになります。
Warning: open(/tmp\sess_2ccfb96834bdeca3e99dac8180555afb, O_RDWR) failed: No such file or directory (2)
これって?ていうか↑こんなファイルあるわけないのに。
0559nobodyさん02/04/12 18:09ID:???
おちけつ。
脊髄反射書き込みはんたーい。
0560nobodyさん02/04/12 20:09ID:???
php.ini の "session.save_path" はどうなってます?
このpathが存在しないものになっている可能性があります。
または [PHP-users 6265] Win版 $_SESSION が使えない
で、「Sessionモジュールがtrack varsを登録する方法に問題が
あるためにこの不具合が発生します。」
と書いてあるのでそれかも。

どーでもいいけど、4.1.1以前は穴があるので
4.1.2にしたほうが良いと思ふ。
0561nobodyさん02/04/13 15:48ID:???
誰か、汎用的な文字列浄化クラス書いてくれないかなぁ…
056252902/04/14 02:45ID:???
>>529をハッシュを使ってとのことだったので、やってみたのですが
どうしても上書きできるところまでしか行けません。

aaa \t 1
bbb \t 2
ccc \t 1
aaa \t 2
bbb \t 2
ccc \t 3
これでやっても

aaa \t 2
bbb \t 2
ccc \t 3
ここまでしかできません。

aaa \t 3
bbb \t 4
ccc \t 4
こうならないですかね。
0563nobodyさん02/04/14 03:04ID:???
うーんと、$a = 5 だと $a って変数が新しい値で上書きされちゃうよね。
でもやりたいのは代入じゃなくて足し算でしょ。だったら足し算しなさい。$a += 5
0564nobodyさん02/04/14 14:47ID:OSF8kSUV
html,htmの拡張子でもPHPが使用可能な共有レンタルサーバー
どなたかご存じないですか?

使用したいのが、個人的な趣味のサイトなので自宅鯖や専鯖は
予算的に無理なもので・・・
0565nobodyさん02/04/14 15:17ID:???
何故そうしたいのか、理由を書け。
0566nobodyさん02/04/14 15:58ID:???
今後の予想

PHPを使ってるとバレたくないからです。
何故バレたくないのか書け。
やましいことをするからです。
0567nobodyさん02/04/14 16:37ID:???
というか、.htmや.htmlでphp使えるようにすると
負荷高くなるから普通やってないと思われ・・・。
0568nobodyさん02/04/14 20:49ID:???
.htaccess に下のように書けば、hoge.html だけが PHP で動くんだよもん。
html すべてをPHP で処理するより負荷は低いんだよもん。

<Files hoge.html>
ForceType application/x-httpd-php
</Files>
0569nobodyさん02/04/15 00:11ID:???
語尾に「だよもん」をつける方は、
for foreach whileの使用を禁止します。
057056402/04/15 12:17ID:???
>>568
ありがとうね!
とりあえず「index.html」だけでもPHPが使えれば
助かります。

>>566
するどいですね。
やましい事というか、確かに真面目な目的で
PHPを使ったページを作るわけではなかったので・・・

でも、PHPって面白いですね。
初めてのWebプログラミングですがホント面白いサイト作りが
できる。

0571nobodyさん02/04/15 21:51ID:m/DrIwmV
setcookie()でクッキーをセットしたあと、
JavaScriptでクッキーを取得するとどうしても文字化けしてしまいます。
誰かこの現象について知っている方いませんか?
0572nobodyさん02/04/16 11:05ID:knkJqIPn
最近気になるんですが、Perlに比べてPHP簡単と言う人がいますが
PerlもPHPもとくに変わらない気がするのですが
Perlに比べてどこら辺が簡単なんでしょうか?
0573nobodyさん02/04/16 12:03ID:???
==2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数:102115人 発行日:2002/03/12
どもども、人格障害者のひろゆきですー。
今日は重大なお知らせがありますですー。
これまで2chでは、企業に対する真偽の曖昧な書き込みは削除しませんでしたが、これからは削除依頼が出たら一旦全て削除して、その真偽をおいらが責任を持って調査し、真実であると確信した時点で改めて復帰させ公開することにしましたですー。。。
これまでは企業に対して、書き込みの内容が嘘であることを「証明してみろ」という傲慢な態度を示してきましたが、これからはおいらが書き込みの内容が真実であることを証明してから大衆の目に触れさせることにしますですー、、、
いやぁ、よく考えると始めからこうするのが当然だったのかも知れませんねー。。。

ちなみに最近はDHCの裁判の模様をお伝えしてますが、それも話半分で聞いていてくださいー、、、
おいらは相手側の主張の極一部を抜き取って、自分の都合の良いように歪曲して報告してますが、その前後の話も含めれば本当は全く違う状況なんですよー、、、えぇえぇ、、、
おいらってば本当に卑劣な人間なんですよー。。。
向こうの弁護士さんも相当に怒っていると思いますですー。。。

ついでに言っておきますが、DHCの件もこれまでと同様に旗色が悪くなったら報告するのを止めますので予めご了承くださいですー、、、
本当は結果まで全て真実を報告して、もし削除するよう決定がくだれば、相手側の企業に対する謝罪のひとつでも掲載するべきなんですよねー。。。
おいらってば人格障害者なもんで許して欲しいですー。。。

んじゃ!
0574nobodyさん02/04/16 13:05ID:???
>>573 省略された部分
激しくワラタ
0575nobodyさん02/04/16 13:09ID:???
>>572
HTMLの中に書いてくからとっつきやすいだけでしょ
0576nobodyさん02/04/16 13:34ID:???
>>572
簡単ってよく言われる割には、Perlみたいに自作スクリプト配布してる人
少ないよね。(国内限定で)
もうたいていの鯖でPHPは動かせるし、Perlよりも設置は簡単だと思うんだけどなぁ。
(/usr/bin/perlのパスを変更する手間が無いから、
初心者が躓く原因を一つだけ減らせる)
0577nobodyさん02/04/16 15:26ID:???
>>575
それよりも、見た目がまんまCで覚えることが少ないからじゃない?
0578nobodyさん02/04/16 18:23ID:???
phpやりはじめたけど難しいです・・・・・
perlだと
$hoge =~ /(\S+)\s+(.+)/;
print "$1 : $2";
って書いてたもの、phpだとどんな風に記述するんでしょうか?
eregで\Sとかにマッチしなくて泣きそうです。
0579nobodyさん02/04/16 18:24ID:A/BDgF1b
>>576
>もうたいていの鯖でPHPは動かせるし
そうか?半分くらいのような感覚なんだけど。
あと、データベースが使えるところはさらに少ない。
DB連携できないならPerlでも十分だしね。
負荷の問題はあるけれども。
0580 ◆AngelBlk 02/04/16 18:27ID:???
>578
http://jp.php.net/manual/ja/ref.pcre.php
この辺じゃだめなの?

>575
あと、PHPはWebに使うこと前提で作られてるから、
Web関係扱うのに役に立つ関数群が充実してる。
htmlspecialcharsやtrimとか。
0581nobodyさん02/04/16 18:40ID:???
なんとpregなんて便利なものがあったのね・・・
ありがとうございました。
0582nobodyさん02/04/16 21:01ID:???
phpって、クラス内変数とかメソッドとか呼び出すとき、いちいち
$this->str とか $this->method() ってしなきゃいけないの?
0583nobodyさん02/04/16 22:07ID:???
>>575
そのとっつきやすさって結構重要だよ。しかもperlより
WEB向きなんだし。〜より簡単なのって優れた事なんじゃないの?
何かプライドでもあるのかプログラマってのはよくわからん。
実際Cやってた人間から見ると圧倒的にPHPの方がとっつきやすい。
Perlからクソめんどくさい事抜いたらPHPになったって感じなんだけどなあ。
0584 ◆AngelBlk 02/04/16 22:22ID:???
>583
とりあえず、自分的にはヘッダ関係考えなくていいだけで
PHP楽だ〜って思ったよ・・・。


超遅レスだけど。
>446
どうやら、CGI版PHPじゃないと<STDIN>(だったかな?
が空になってる模様。
CGIとして動作してるPHPなら出来そうという意見が。
0585nobodyさん02/04/17 02:17ID:???
>>571
1ページ目が.htmlの掲示板で、それをやろうとしたけど
できなくて、諦めたよ。
NNでは化けないけど、IEだと化けたような覚えがある。
0586nobodyさん02/04/17 16:09ID:???
PHP4.1.2にバージョンアップしたら、session_start();するだけで
Fatal error: Failed to initialize session module
って初期化に失敗するんだけど、これって何故?
MLの過去ログに同じ現象の人見つけたけど、誰もレスして無かったよ。
phpinfo見ると、sessionは有効になってるんだけどなぁ。
058758602/04/17 16:18ID:???
>>586
あぼーんします。
カスタムセッションハンドラ使ってました。
0588nobodyさん02/04/17 20:29ID:???
RFC822形式の日付(date("r"))を、Epochに逆算する関数ってある?
ereg&mktimeでやるしかないのか。
058958802/04/17 20:30ID:???
PHP 4.1.2
0590nobodyさん02/04/18 03:34ID:IMuTE+9J
質問です。

Windows版 php4.1.2 + IIS 4 on NT な環境です。
スクリプトの中で、そのスクリプトを実行するユーザー毎に
8文字位のパスワードを生成したいのですが、Win環境な為、
crypt() 関数が使えません。

とりあえず md5() の結果の頭8文字を取ってきてパスワードと
しているのですが、結果が16進数なので数字ばかりであまり
好きではありません。ユーザーID毎のパスワードなのでダブっても
いいのですが、できればアルファベット26文字+数字の組み合わせを
パスワードとしたいのです。

Win環境で簡単にランダムな英数字の文字列を生成する方法はないでしょうか。
059158802/04/18 10:11ID:???
16進数を(26+10)進数に、変換すればいいだけじゃないの?
0592nobodyさん02/04/18 12:17ID:8LmMiEMy
単純なメールフォームをphpでつくってます。
php.iniの設定は以下の通りです。
------------------------------------------------------------
mbstring.detect_order ----- auto
mbstring.http_input ----- auto
mbstring.http_output ----- pass
mbstring.internal_encoding ----- EUC-JP
mbstring.substitute_character ----- no value
------------------------------------------------------------
フォームを置いているindex.phpはEUCです。
そこから呼び出してメール送信させるmail.phpの中身もEUCです。


なのに、
メール本文のうち、
・index.phpで入力した日本語(value)
・mail.phpの中に書き込んでる日本語(<値一覧>みたいな日本語>
が文字化けしてしまいます。

なお、index.phpの<input type="text" name="なまえ" value="">
とある「なまえ」の文字は、正常にメールに表示されてます。

なぜなのでしょうか?お教えいただければ幸いです。
0593nobodyさん02/04/18 17:29ID:4lmPxRyS
//●1
//まず変数がこのようにあるとします。
$aaa1 = "A";
$aaa2 = "B";
$aaa3 = "C";

//●2
//画面に出力
echo"$aaa1<BR>\n";
echo"$aaa2<BR>\n";
echo"$aaa3<BR>\n";



■結果
A
B
C

===================================================
初歩的な事で申し訳ないのですが以下の質問があります。
===================================================

●2の部分で、1つづず「echo」で出力するのではなく
「for」等で出力するには、

for($i=1; $i<=3; $i++){
echo"$aaa$i<BR>\n";
}

のように考えたのですが、うまく ■結果 のようには出来ません。
どのようにすればうまく表示できるのでしょうか?
よろしくお願いします。
059459002/04/18 19:11ID:IMuTE+9J
>> 591
それって、どのようにして変換すればよいのでしょうか?
ソースをご教授いただけると助かります。
0595nobodyさん02/04/18 19:54ID:???
>>593
http://www.php.net/manual/ja/language.variables.variable.php
0596nobodyさん02/04/18 20:04ID:???
>>568
いくつかのファイルをphpとして動かす場合はどう書けばいいの?


0597nobodyさん02/04/18 20:11ID:???
しかし、悲しくなるくらい低レベルなスレだな・・
059859002/04/18 21:20ID:IMuTE+9J
こうかな。

$password = substr( base_convert( md5($string), 16, 36 ) , 0, 8 );
0599nobodyさん02/04/18 22:33ID:???
>>511 から質問したものです。

未だに成功しないので、質問させて下さい。
perlアクセス解析cgiをPHPから動かしたいのですが、
systemで引数?(GET?)が渡せません。
system("/home/user/www/cgi-bin/hoge/stat.cgi?LOG=index") はダメです。
LOG=indexの渡し方を知ってるかたいますか?
0600nobodyさん02/04/18 23:00ID:???
>>592
mail()のメールヘッダ部分で文字コードの指定してる?
してなければたぶんそれが原因。
0601nobodyさん02/04/18 23:09ID:???
>>599
env QUERY_STRING=LOG=index /home/user/www/cgi-bin/hoge/stat.cgi
0602 ◆AngelBlk 02/04/18 23:53ID:???
>597
一時期、もっと楽しかったんだけどなぁ・・・。

そういえば、PHP4.2.0RC4どうなん?
流石に他の人に貸してる環境に入れることも出来ず
様子見してるんだけど。
060359202/04/19 00:03ID:bxirOF7Z
>>600 さんありがとうです。
「Content-Type: text/plain; charset=iso-2022-jp」のことですよね。
つけてなかったのでつけたのですが、そしたら本文が全部文字化けしてしまいました。
(半角かなばっかり。これってどういう化けかたでしたっけ???)

なお、サブジェクトは正常に日本語が表示されてます。
($subject = mb_encode_mimeheader("EMAIl FROM どこそこ"); としてます)

あと言い忘れましたが(すみません)、FreeBSD 4.2 で、PHP4.0.6 です。
0604nobodyさん02/04/19 00:06ID:???
>>603
EUCで渡してるならcharsetをEUC-JPにしないと。

俺は
http://www.spencernetwork.org/
を使ってタイトル、ヘッダ、本文を全部iso-2022-jpに変換してやってる。
0605592=60302/04/19 00:58ID:stB036rz
>>604
ありがとうございます。とりあえず自分も、http://www.spencernetwork.org/ を使って動きました。

ただ疑問なのが、別のサーバ(RedHat6とPHP3)で、
   mail($Mailto,i18n_mime_header_encode("さぶじぇくと"),"にほんご")
ってだけで(このphpファイルはEUC)、ちゃんとJISのメールが送られて、
しかも、「Content-Type: text/plain; charset=iso-2022-jp」が付いている例が
あるんですよ。

だから、とくに文字コードを意識しなくても前述のようにメールが送れると今まで思いこんでいて。。。
この別のサーバで正常に送れているのは、PHPでなく、Sendmailか何か別の設定のせいなんでしょうか・・・?
0606 ◆AngelBlk 02/04/19 07:28ID:???
>605
そのPHP3って、国際化バージョンでは?
文字コードの自動認識とかは、PHP3のが強かった気がする。
PHP4でやるなら、明示的に指定したほうが事故ないですよ〜。
0607nobodyさん02/04/19 09:11ID:???
>>601
お返事ありがとうございます。色々試しましたが、うまくいっておりません。

include("env QUERY_STRING=LOG=index /home/user/www/cgi-bin/hoge/stat.cgi"); //ダメ

こんなこともやってみましたが、ダメでした。
system("QUERY_STRING=LOG=index"):
system("export QUERY_STRING");
system('/home/user/www/cgi-bin/hoge/stat.cgi"); // エラーとなる。

ちなみに、上記表示で見えたところでは、サーバはLinuxでシェルは、bashです。(telnet不可)

他に stat.cgi にQUERY_STRINGを渡す方法はあるでしょうか?
0608nobodyさん02/04/19 09:56ID:3KXoKyNv
PHP + MySQL
http://pc.2ch.net/test/read.cgi/php/983250751/209-213
から飛んできました。

Apache + mod_php を使っています。
データベースにアクセスするパスワードなんかをスクリプトに埋め込んで、
そのスクリプトを他のユーザに詠まれないようにしたい、ということです。

CGI なら suExec で user=www ( or nobody) => user=ore に
権限を変更できるので、パーミッション 600 で OK なんですが、
モジュールの場合は user = www ( or nobody) のままなので
600 にはできないです。

結局

safe_mode = on
safe_mode_exec_dir = "."
open_basedir , doc_root を適切に設定。

を適切に設定することで何とかなりそうかな、ということだったんですが、
それでもパスワードを含むスクリプトを 600 にはできないですよね?
となると、ssh とかでログインして作業している他のユーザには
読まれてしまうわけで……

まだあんまりやったことないですが PHP を CGI として動かそうかな、とか。
0609nobodyさん02/04/19 10:17ID:???
>607
>system('/home/user/www/cgi-bin/hoge/stat.cgi"); // エラーとなる。
これそのままコピーしてきた奴?
だとしたら、「""」でちゃんと閉じてないよ。最初の方が「'」になってる。

あと、
http://www.itboost.co.jp/php/php_05.phpに説明がある

system("/home/your/bgprog $arg1 $arg2 > /dev/null &");

ではダメ?
0610すえぐぜく?02/04/19 11:40ID:3KXoKyNv
http://www.php.net/ への投稿でも結局のところ次のような感じでした。

filenotfound404error@yahoo.com
24-Mar-2002 12:09

If you install PHP as a CGI (http://www.php.net/manual/en/security.cgi-bin.php)
and then set up Apache with suexec enabled (http://httpd.apache.org/docs/suexec.html),
you can set your PHP scripts' permissions to 700, thereby making it more
difficult for other users of the system to get at your MySQL passwords. I
like this setup anyway, because under it a user's script runs with the
user's ID. Scripts thus inherit the user's permissions and can read and
write files without setting the files' permissions so as to open the files
up to other users -- handy for the user and the sysop, from a security
point of view.

Sure, running PHP as a CGI isn't as efficient as running it as an Apache
module (according to my informal benchmarks, the former setup can only
handle about one third as many concurrent users as the latter), but for
many people, the added security is worth the performance trade off.

いや、やりたかったのは Xoops っていう PHP ベースのポータルサイト構築
ツールを使いたかったんですが、その config.php ファイルに MySQL への
接続パスワードを書くようになってるので、パーミッションを 600 にしたい、
ということだったんです。

んが、さっき CGI として Xoops を動かしてみようとすると、動かなかった……
0611nobodyさん02/04/19 12:29ID:3oF7V8+F
PHP4のScriptをPHP5に移行する時は、
ソースの書き換えが大量に発生する予感
とdev側でアナウンスされたというのはマジ?

前に日本語MLでちらっと話が出てたのだけど、気になって
JSPに移行しようかと悩む今日この頃

>>610
パスワードを返すところだけ、PHP以外を使うというのはどう?
0612 ◆AngelBlk 02/04/19 12:57ID:???
>611
マジかと。
で、PHP-dev ML.JPでは

<?php version="5.0"
?>

という風にバージョンわけ出来るように話して見ます?
みたいな事が投稿されてました。

まあ、PHP4とPHP5を一緒にインストール出来るように
なっていれば、そこまで問題ならないような気もするけど・・・。

php.iniでPHP4 or PHP5というのをディレクトリ別に
設定できるとうれしいかも。
0613nobodyさん02/04/19 14:37ID:3oF7V8+F
>php.iniでPHP4 or PHP5というのをディレクトリ別に
>設定できるとうれしいかも。

うちもうれしいかも
鯖管が新しい物好きという困った状況の時
拡張子phpをphp4にする作業がなくなるかも
0614nobodyさん02/04/19 15:22ID:uydc7dr5
変数を自動的に割り当てたいんですが何か良い方法ありますか?
たとえば、
$a=1;
while($a < 5){
$a++;
$wari=5+$a;
echo $wari;
}
というようなプログラムでこの$wariを
値が6のときは$wari1、値が7のときは$wari2・・・みたいに
名前を自動的に変えたいのですが。

いい方法を知っていらっしゃる方がいたら是非ご教授お願います。
ちなみに、実際作っているプログラムでの$wariの値はデータベ
ースの検索結果を当てています。
0615nobodyさん02/04/19 15:25ID:uydc7dr5
あ、言い忘れました。
>while($a < 5){
ここの5という数字は適当です。
今書いてるプログラムではここに当てはまる数字がいくつでも対応する
ようにしなければいけないです。

すいませんが、よろしくお願いします。
0616nobodyさん02/04/19 19:11ID:Kja3u5oC
${wari$a}=5+$a;
0617nobodyさん02/04/19 23:05ID:???
>>612
「いちおうdevloper」な立場から言わせて頂くと、
versionディレクティブが採用される確立は0に
等しいです。良いアイデアだとは思いますが。

ただ、4->5のスクリプトコンバータは作成される
可能性があります。

i18n関連はこれから実装されるでしょう。ただ、
なんとなくな方向性が決まっているだけなので
どうなるかはまだ分かりません。
0618 ◆wfMSpsRY 02/04/19 23:13ID:???
>>608
>それでもパスワードを含むスクリプトを 600 にはできないですよね?

別にソース内にパスワードを書く必要は無いでしょ。

PHPでパスワードファイルを作成し、パーミッションを 600にします。
パスワード作成のPHPは削除します。(これを覗かれたら意味無い)
パスワードファイルの所有者は www (apacheのUser 以下wwwと表記),パーミッションは 600 になるので、
www 若しくは root 以外では開く事は出来ません。

CGIはsuexecにより、www以外のユーザで動くようにします。

これで www もしくは root 以外ではパスワードファイルは覗けない事になります。
しかしこのままでは他人のPHPから覗けることになるので、safe_mode等で制限するのです。

# ポイントは「PHPでパスワードファイルを作成」です。
# PHPで作成したファイルは所有者が www なのでパーミッションを600にしてもPHPから読み込めます。
# また、CGI、SSHなどでは読み込めなくなります。
## ローカルでパスワードファイルを作ってFTP/SSHでログインしてvi等でパスワードファイルを作成
## では所有者がwwwでは無いのでパーミッションを600にするとPHPからパスワードを読み込めなくなります。

わざわざパスワードファイル作成用のPHP作らないといけないし、パスワードファイルの
削除もPHPから行わないといけないし結構面倒です。

# けど、コマンドライン版PHPでCGIとして動かすぐらいならPHP止めて、Perl使うな俺は。
##(あくまで個人的にはです。理由は色々。)

suexecに対応すればそれが一番簡単なんですけどね。PHP5で対応してくれないかなぁ。
0619nobodyさん02/04/19 23:40ID:???
>php.iniでPHP4 or PHP5というのをディレクトリ別に
>設定できるとうれしいかも。

php.iniでは無くhttpd.confや.htaccessの範疇だと思いますが。
0620 ◆AngelBlk 02/04/19 23:57ID:???
>617
うーん、そうなんだ。
残念。

コンバータはどうなんだろう・・・。
結局手直しがかなりいりそうな予感も。

>618
suexec(またはそれに変わる何か)には対応してほしいね。
そのあたり、話にでてるのかなぁ・・・。
英語MLは読んでないから、情報ほしいところ。

>619
あー、そうっスね。
ディレクトリ別の設定ならphp_valueか。
0621nobodyさん02/04/20 04:25ID:Mslw1o2N
windows版(apache+php4)にて、コンテンツ作成しているんですが、
phpでのBasic認証ができません。
下記ソースにアクセスすると、[500 Internal Server Error]を返します。
apacheのerror.logには、「Bad header=HTTP/1.0 401 Unauthorized: c:/php4/php.exe」なんて
かかれてます。
もしかして、windows版phpは、これ使えないのでしょうか?
ちなみに、同じソースをLinux版で試すとokでした。

=====
<?php
if (!isset($PHP_AUTH_USER)) {
header("WWW-Authenticate: Basic realm=\"My Realm\"");
header("HTTP/1.0 401 Unauthorized");
echo "ユーザーがキャンセルボタンを押した時に送信されるテキスト\n";
exit;
} else {
echo "<p>こんにちは、$PHP_AUTH_USER さん。</p>";
echo "<p>あなたは、$PHP_AUTH_PW をパスワードとして入力しました。</p>";
}
?>
===
0622nobodyさん02/04/20 08:37ID:???
>>621
C:\php\にちゃんとphp.exeはあるのか?
0623nobodyさん02/04/20 13:01ID:???
header("Status: 401 Unauthorized");
にしてみたら?
0624nobodyさん02/04/20 14:48ID:???
Apacheモジュールとして動かしてる?
0625nobodyさん02/04/20 22:08ID:Mslw1o2N
621 です。
phpをCGI版じゃなく、Apacheモジュールとして動作させ
解決しました。どうもでした。
0626nobodyさん02/04/20 22:17ID:dRKvCqvI
warning Inside of the start "/www/flashkit/php/DB_.inc" which went wrong for :inclusion (include_path=":/www/flashkit/board:/usr -- /local//php / release / php:/www/flashkit/html is stacked -- ") /www2/flashkit/html/jump.php on-line 4
Fatal error : The member function on a non-object is called. It is a /www2/flashkit/html/jump.php on-line. 5
これは、どうゆう意味でしょうか?ご教授ください。
0627nobodyさん02/04/20 23:51ID:???
英語というだけで努力を放棄する人間が多いと思いませんか?
0628nobodyさん02/04/21 00:25ID:???
英語だけど読んでごらん。
Fatal error : The member function on a non-object is called. It is a /www2/flashkit/html/jump.php on-line. 5
0629nobodyさん02/04/21 00:50ID:wb3vDYFU
PHPの勉強するときって、ローカルの自分のマシンだけでできるの?
Windows2000だけでできるの?
Linuxとか使わないとだめ?
0630nobodyさん02/04/21 01:04ID:???
>>629
数レス前のログさえ読まないお馬鹿さんにはPHPの勉強は無理だと思われ。

>>626
中学校から人生やりなおせ。
0631あえてウソを教えてみる02/04/21 09:49ID:???
>>629
そうだよ。君には Linux が必要だ。
何冊か本や雑誌を買ってきて、勉強しながらインストールしてみよう。
0632nobodyさん02/04/21 11:47ID:/tnBoE3S
英語ぐらいは読めるんですが、どのような警告と致命的エラーかが
知りたいんですよね。
0633nobodyさん02/04/21 12:17ID:???
警告:warning Inside of the start "/www/flashkit/php/DB_.inc" which went wrong for :inclusion
エラー:The member function on a non-object is called.
0634nobodyさん02/04/21 14:31ID:???
>>632
ふーん。読めるのに意味が分からないのか。
やっぱ中学校からやり直しな
0635nobodyさん02/04/21 15:37ID:???
phpだとPATH_INFOでいろいろ渡せないんですか?
http://〜/hoge.php/zzz みたいに使いたいんですが・・・・
0636nobodyさん02/04/21 15:57ID:???
渡せるか渡せないかはCGIかPHPかで決まるんじゃなく
サーバソフトで決まるだろ。
063763502/04/21 16:22ID:???
私もサーバ側で決まるんだと思ってたんですが、hoge.php/zzz だと404が出て、
hoge.cgi/zzz は期待通りに動くので、phpだとできないのかと思った次第です。

サーバの環境としては、Apache2.0.35にphp4.2RC3をDSOで入れてあります。
0638名無しさん02/04/21 17:05ID:???
>>637
どうやってPATH_INFOを取得しようとしてるのか、その部分のコードを書け。
0639taketyan ◆JQJvqZpw 02/04/21 17:13ID:???
PHPってソケットみたいなことできますか?
0640nobodyさん02/04/21 17:22ID:???
>>639
http://jp2.php.net/manual/ja/ref.sockets.php
これではダメなのかえ?
064163502/04/21 17:23ID:???
うーん、取得以前の問題で、hoge.php/zzzとかをリクエストすると404NotFoundになってしまうんです。
今のところ、hoge.phpとしては、
<? print "hello"; ?>
しか書いてません。
実際にPATH_INFOを取得するのはこれがきちんと動いてからやろうと思ってます。
hoge.cgiの方は、
#!/usr/local/bin/perl
print "Content-type: text/plain\n\n";
print "hello", $ENV{PATH_INFO};
で、正常に稼動しています。
0642nobodyさん02/04/21 17:30ID:???
PATH_INFO付けなくても404になるってオチだったら殺す。
064363502/04/21 17:33ID:???
それだけはないから安心してください。
0644nobodyさん02/04/21 17:55ID:73tQq+TH
そういえば、PATH_INFO使うと virtual() が正常に動作しないんだよね。
PATH_INFO使わないで参照すると正常に動作するんだけど。
0645nobodyさん02/04/22 02:36ID:AXvATEcm
教えてください。
プログラムの問題ではないので恐縮ですが、
*.phpでHTML表記部分(?)の<A href="#NAME">がうまくいかず、困ってます。
拡張子を*.htmにするとうまくいくのですが、
これはどうすればいいでしょうか。
0646nobodyさん02/04/22 03:20ID:???
教えてください。
プログラムの問題ではないので恐縮ですが、
>>645の人は何がうまくいかない為状況が判らず、困っています。
私の環境ではうまくいくのですが、
コヤツにどう答えればいいのでしょうか。
0647nobodyさん02/04/22 03:21ID:???
>>645の人は何がうまくいかない為状況が判らず、困っています。
   ↓
>>645の人は何がうまくいかないのか書いていない為、状況が判らず、困っています。


鬱だ詩嚢
0648nobodyさん02/04/22 03:36ID:???
<?
$new_w=100;
$new_h=100;

header("Content-type: image/gif");

$dst_img=ImageCreate($new_w,$new_h);

$src_img=ImageCreateFromGif("./test.gif");

ImageCopy($dst_img,$src_img,0,0,0,0,ImageSX($src_img),ImageSY($src_img));

ImageGif($dst_img);

?>

test.gifは20×3の画像。色は赤一色。
この画像を$dst_imgに重ねたいのですが、
上記ソースを実行しても、100×100の赤く塗りつぶされた画像になってしまいます。
$dst_imgの背景色を白として、test.gifを重ねるにはどうしたらよいのでしょうか?
0649nobodyさん02/04/22 03:39ID:???
>>645
百万回ソースを見直せ。
実際に動かして表示されたページのソースを保存してさらに百万回見直せ。
0650nobodyさん02/04/22 04:02ID:???
>>648

バックグラウンドに使用する画像は空という罠。
おとなしくバックの白い画像も用意するのが吉。
065165002/04/22 04:13ID:???
スマソ
ImageCreate使った後に
ImageColorAllocate使えば塗りつぶしできるな。
■ このスレッドは過去ログ倉庫に格納されています