[過去ログ] 【PHP】下らねぇ質問はここに書き込みやがれ 12 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
643(1): (ワッチョイ 5d01-RnN5) 2021/08/05(木)13:59 ID:QPICGq8w0(1) AAS
ID:F8+XC2Dv0
ご大層なゴタクを並べてるのにサーバーはレンタルサーバーなのですね
644: (ワッチョイ 4ee6-A9KZ) 2021/08/05(木)14:04 ID:xD0lMLd30(2/2) AAS
>>643
www
645(1): (ワッチョイ d58c-0pp8) 2021/08/05(木)14:06 ID:IpTlZujB0(1/9) AAS
>>628
> 一応聞くが、headerはbodyの後には出力出来ないってのを知ってるか?
知ってますよ笑
だから、本処理終わるまで何も出力しないように書き換えればと言ってるんです
本処理完了の次の行でheader locationを出力し、リダイレクト先のページにパラメーター渡して表示すればいいです
<?php
sleep(3); // ←本処理の代わり(ここまで何も出力しない)
ignore_user_abort(true);
header('location: hoge.php?a=パラ1');
flush();
省4
646: (ワッチョイ bd7b-LMHu) 2021/08/05(木)14:22 ID:F8+XC2Dv0(30/49) AAS
>>592
イマイチ全体像が掴めないのだけど、確かにジョブキューイングは出来るようだ。
ただ見たところLaravelのソースコードはphpのようだし、RedisだSQSだとか言ってるから、これは、
DBに対するPDOのように、キューイング機能のあるRedis/SQS等に対しての共通ラッパを提供したもの
ということでいいのか?
(そもそもRedis/SQS等は初耳なので大幅に勘違いしてるかもだが)
なお、確かに今回の俺の用途ならこれで対応可能だ。
話が大げさになりすぎてる感はあるが、
元々Laravelを知ってて、かつ、使える環境なら、この選択もありだろう。
いちいちキューを自前で作るよりもキューサーバー、なんてのは
省10
647: (ワッチョイ bd7b-LMHu) 2021/08/05(木)14:31 ID:F8+XC2Dv0(31/49) AAS
>>641
> しかもレンタルサーバでやるような低レベルなもんだろ?
これはその通りだ。
お前らのやってるエンタープライズなコードでは許されないような方法でも、許されるのだろうさ。
とはいえ、それをやるかどうかはまた別だろ。
プログラミング初心者が四苦八苦して数百行のやっと動くコードを書いてる状況ではないんだよ。
他言語ではバリバリに書ける奴がPHPだとデタラメやっていい、ってことにもならないだろ。
それは矜持の問題だ。
勿論、お前がデタラメやるのもお前の自由だが、俺的には恥ずかしくてそんなコードは公開出来ないよ。
648: 620 (ワッチョイ 9a2c-QEAr) 2021/08/05(木)14:32 ID:bqGeTZjz0(5/8) AAS
Ruby on Rails では、redirect_to でリダイレクトする(302・発見)。
lesson/step1 にアクセスすれば、lesson/step2 へ飛ばされる
その時、flash に情報を入れておけば、リダイレクト後に使える。
これで、abc と表示される
def step1
flash[ :notice ] = "abc"
redirect_to action: "step2"
end
def step2
render plain: flash[ :notice ]
省1
649(1): (ワッチョイ bd7b-LMHu) 2021/08/05(木)14:36 ID:F8+XC2Dv0(32/49) AAS
>>645
なるほど、その方法でも出来るのは理解した。
が、それだと2往復するし、やっぱりかなり無駄だろ。
結局お前らは「動けばいい」でしかないからそういうことになる。
それだったら、現実装の方がまだマシだよ。
ただまあ、エンタープライズならLaravel等でキューサーバー、ってのは分かった。
確かにこれで玄人は問題ないのだろうさ。
650: 620 (ワッチョイ 9a2c-QEAr) 2021/08/05(木)14:45 ID:bqGeTZjz0(6/8) AAS
例えば、Ruby on Rails では、
食べチョクみたいな若い女の子が、1人で始める場合は、Heroku, Bootstrap。
食べチョクは、AWS だけど
AWSなら、くろかわこうへいのサロンにも入る必要がある
KENTA, 2021/3
女性エンジニア&個人開発者のだむはさんにインタビュー
www.youtube.com/watch?v=ieljaqRC98A
省5
651(2): (ワッチョイ d58c-By/s) 2021/08/05(木)14:50 ID:IpTlZujB0(2/9) AAS
>>649
理解いただけてなによりです。
ただ2往復の意味が良く分かりません。
1.本処理+後処理.phpにGet付でアクセス
2.本処理終わったらbody用パラメーターつけてhoge.phpに飛ばす
3.ユーザーにはhoge.phpが表示される
4.サーバー側は後処理が継続される
進行は分岐するけど常に1方向だし、どこにも戻ったりもしてないと思いますが。
652(1): (ワッチョイ bd7b-LMHu) 2021/08/05(木)14:55 ID:F8+XC2Dv0(33/49) AAS
>>651
リダイレクトは別サイトにもいけるだろ。
だから基本的にはブラウザとは2往復するはず。
結果的に同一サイトにリダイレクトされる場合でも、おそらくブラウザはもう一度接続し直してくるはず。
この辺は試した方が早いかもしれんが。
653: (ワッチョイ bd34-9imK) 2021/08/05(木)15:07 ID:cuxOZbzu0(2/3) AAS
無料レンタルサーバを使う上級者様が朝の6時半から32レスという渾身のギャグ
654(2): (ワッチョイ d58c-By/s) 2021/08/05(木)15:08 ID:IpTlZujB0(3/9) AAS
>>652
なるほど、再接続という意味ならそうですね。
では別の案ですが、
1.本処理中に吐き出すHTMLの先頭に、文字列なりHTMLタグなりの目印を検出するJavascriptを仕込む。
2.本処理が終わったタイミングで目印になる文字なりHTMLタグなりを出力(Flush)する。
3.Javascriptで対象の目印を検出したら window.stop() で、ブラウザ側から切断させる。
655: (ワッチョイ bd7b-LMHu) 2021/08/05(木)15:17 ID:F8+XC2Dv0(34/49) AAS
>>651
ああだからな、元々は「処理を速く見せる為」なんだよ。それで、
・接続を明示的に切れれば、往復1回+本処理
・接続を明示的に切れない現状では、往復1回+本処理+後処理
・651方式で転送した場合、往復2回+本処理
というようにユーザーには見えることになる。
結果、ネットワークが速くて後処理時間より短いならこれもありかもしれないけど、ネットワークも地味に重い。
この辺のさじ加減は君らの方が詳しいだろうけど、
現状の後処理は、整理するデータがある場合は400ms程度、無ければ10-40ms程度だ。
整理するデータが存在するのは1/20程度の確率だと想定している。
省3
656(1): (ワッチョイ 5d01-RnN5) 2021/08/05(木)15:19 ID:qHbol2On0(1/2) AAS
ID:F8+XC2Dv0は開発環境がXAMPPで無料レンタルサーバを使う初心者なのだから身の丈にあったことをすればいいのにキチガイ過ぎる
657(1): (ワッチョイ 6501-pCDs) 2021/08/05(木)15:26 ID:tyzHpayb0(1) AAS
>>642
ID:bqGeTZjz0の人にrubyスレで教わりました
658(1): (ワッチョイ bd7b-LMHu) 2021/08/05(木)15:31 ID:F8+XC2Dv0(35/49) AAS
>>654
それは君がブラウザの動きを分かってない。
flushで出力されるのはPHP側のバッファだけで、apache/nginxのバッファはflushされない。
だからapache等でgzしている場合には最後まで出力されるかどうかはかなり怪しい。(というか、多分されない)
そしてブラウザはある程度溜まったら勝手に出来るところまでパースする。
そしてパースが完了しないとJS側からはデータにアクセスしようがない。(送信途中のデータは読めない)
よってその方法では出来ない。
接続を明示的に切れれば、apache等は溜まってるデータをflushして接続を切りに行き、
それを受けてブラウザはすぐにパースを開始する。
だから、接続さえ明示的に切れれば、すぐさまパースされるんだよ。その後PHPが動き続けてても関係なく。
省4
659: (ワッチョイ d108-1vA1) 2021/08/05(木)15:31 ID:jTl1oJKL0(13/13) AAS
>>657
そいつは有名なキチガイだから相手にしたら駄目よ
今このスレでも ID:bqGeTZjz0 で支離滅裂な事を書いてるけど頭の病気だから
660(1): (ワッチョイ bd7b-LMHu) 2021/08/05(木)15:38 ID:F8+XC2Dv0(36/49) AAS
>>656
だから最初から言ってるが、
俺はPHPの初心者ではあるけどプログラミングは初心者ではないんだよ。
だから、PHPといえども恥ずかしいコードは書けない。
661: (ワッチョイ 5d01-RnN5) 2021/08/05(木)15:54 ID:qHbol2On0(2/2) AAS
>>660
いやいやご冗談がきつい
どこからどう見ても初心者ですよ?
初心者じゃないならXAMPPや無料レンタルサーバに固執しなくていいですし
PHPに固執しなくてもいいですからね
662: (ワッチョイ bd7b-LMHu) 2021/08/05(木)15:57 ID:F8+XC2Dv0(37/49) AAS
ちなみにお前ら、PHPにコントリビュートしてみたい奴はいるか?
居るなら手伝うが。
Web開発ってのは、「こんなポンコツを使わされるくらいなら俺が直してやるからソースコードよこせ!」の繰り返しではある。
今の俺がそれだ。
write_closeは基本的な関数であり、存在しないのがおかしい。
実装は、exitで行っているであろうクローズ処理を前倒しすればいいだけ。具体的には、
1. exitのソースコードを「接続を閉じる部分」と「それ以外」に分け、
2. 「接続を閉じる部分」が write_close() で呼ばれるようにし、閉じたかどうかをフラグで保存、
3. exit ではそのフラグを見て、閉じてない場合は呼んでから、「それ以外」を呼んで終了とする。
とまあ、要は exit のソースコードを2分割すれば済む話ではある。
省6
上下前次1-新書関写板覧索設栞歴
あと 340 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.024s