[過去ログ] 【PHP】下らねぇ質問はここに書き込みやがれ 12 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
579
(2): (ワッチョイ bd7b-LMHu) 2021/08/05(木)06:36 ID:F8+XC2Dv0(3/49) AAS
>>577-578
なるほど、マルチプロセスだから根本的に考え方が違うんだな。ありがとう。
(だとすると、途中で明示的に接続を切れたのはNodeか?)

マニュアルページが完全にstackoverflow並のtips集になっていることにも驚いた。
外部リンク[exec]:www.php.net
(やたらWindowsについての言及が多いが、意外にIIS上で動かされてるのか?)

見た目同期コマンドだが、出力を捨てれば確かにバックグランウンドで動くらしい。
省8
580
(1): (ワッチョイ 56bb-ds/h) 2021/08/05(木)06:50 ID:Sb1zsMiv0(1/8) AAS
>>579
ローカルコマンド叩くのに環境依存がない言語なんてあるわけ無いだろ
嫌いになるのは勝手だけど、アホな理由で嫌いになるなよ
581
(1): (ワッチョイ bd7b-LMHu) 2021/08/05(木)07:24 ID:F8+XC2Dv0(4/49) AAS
>>580
だから発想が『プログラマとしては』おかしいんだよ。
少なくともNodeでもGoでも、環境依存無しのコードを記述出来る。
PHPでは出来ないのに、それでも良しとされてる。
そういうところが嫌いなんだよ。

覚えだが、上記の通り、明示的に切れたのは多分Nodeだ。
これはそもそもシングルスレッドだから、PHPのようにスクリプト終了=接続終了とは出来ないから当たり前だが。
省15
582
(1): (ワッチョイ 56bb-ds/h) 2021/08/05(木)07:52 ID:Sb1zsMiv0(2/8) AAS
>>581
んなアホなことやりたいなら、phpでWebサーバ書けばいい
メジャーなのはないけど、ふつうにGitHubにも転がってる

そもそもフィトするもんが別にあるんだったらそっち使うのがエンジニアだぞ
583
(3): (ワッチョイ bd7b-LMHu) 2021/08/05(木)08:23 ID:F8+XC2Dv0(5/49) AAS
>>582
だからその発想がおかしいんだよ。フィットしてるなんて到底言えない。

PHPは「できればいい」「動けばいい」で済ませる初心者〜中級者の感覚に合ってる。
だからその層には絶大な支持を受けるが、上級者には支持されない。
実際、PHPが「プログラミング言語として」素晴らしいなんて言ってる上級者は世界中でも誰一人もいないだろ。

connection_closeとかを用意すればいいだけなのに、
外部コマンドで自己ファイルをバックグラウンドプロセスとして起動する、なんて解は、頭がおかしいレベルだ。
省9
584
(1): (ワッチョイ 56bb-ds/h) 2021/08/05(木)08:42 ID:Sb1zsMiv0(3/8) AAS
>>583
使ってる方からするとWebサーバレベルのハンドリングを意識しなくて良いレベルで抽象化されていることが使いやすいし、不足箇所は最近だとフレームワークが補完してくれている

ところで、支持してない上級者って何?
サーバサイド言語として、phpが必要ないって言っている人がいる?
普通に用途が合えばphp選択するのがエンジニアだと思うけど?
585: (ワッチョイ bd7b-LMHu) 2021/08/05(木)08:50 ID:F8+XC2Dv0(6/49) AAS
というか、思うにこれはPHPだと「出力用」と「DB整理用」のphpを別にして、
「DB整理用」は別にcronで叩く、というのが一般解なのかな?

これ自体も外部依存しているのでよい解ではないが、
ここまで蔓延っているPHPがこの辺の「普通にやる処理」を上手く記述出来ないのもあり得ない。
だとすると、現実的にはこの解なのだろう。

とはいえ、最安のレンタルサーバーだとcronは使えないし、
纏めて整理する時に命中したらその時だけ奇妙に遅くなるわけで、
省1
586
(1): (スップ Sd7a-0pp8) 2021/08/05(木)08:55 ID:yR6UN7xmd(1) AAS
>>583
〜ここまで本処理
//接続が切れてもスクリプトを実行させる
ignore_user_abort(true);
// メッセージ表示ページへ飛ばす
header('Location: 本処理完了しました.html');
flush();
省2
587: (ワッチョイ da52-wbwm) 2021/08/05(木)09:02 ID:e8dh7hYU0(1) AAS
>>583
ソースもないのに誰一人いないとか断言しちゃうから、だらだら長いだけで説得力のない空っぽな主張に見えちゃうんだぞ

お前さんの主張を支持する上級者は誰一人いないw
588
(1): (ワッチョイ bd7b-LMHu) 2021/08/05(木)09:24 ID:F8+XC2Dv0(7/49) AAS
>>584
> 不足箇所は最近だとフレームワークが補完してくれている
では今回の connection_close なり write_close が出来るフレームワークを紹介してくれ。
無いだろ。
PHPで出来ないことは、PHPで記述したフレームワークでも出来るはずがないからだ。
(とJS同様に思ってるんだが、PHPの場合は例えばC++で記述されててPHPをDSLとして採用してるだけ、
みたいな実行環境形のフレームワークがあるのか?
省19
589
(1): (ワッチョイ 56bb-ds/h) 2021/08/05(木)09:27 ID:Sb1zsMiv0(4/8) AAS
>>588
お前のやりたいことは、Jobのキュー登録だろ
普通にあるわ

なんで、connection_close なり write_close にこだわらないといけないんだ?
590
(1): (ワッチョイ bd7b-LMHu) 2021/08/05(木)09:33 ID:F8+XC2Dv0(8/49) AAS
>>586
それは動かないだろ。
本処理で既にheaderとbodyは出力してる。
だからその後に header('Location')はアウトだ。

そして仮に動いたとしても、いちいちLocationで飛ばすってのも余計におかしい。
今現在の、結果的にブラウザが反応しないかも、その場合は通常より倍の時間がかかります、の方がまだマシだ。

ここらへんの、ちゃんとした解がないから余計なことで遠回りにやる、ってのもPHP界隈が嫌いな理由だ。
省6
591
(1): (ワッチョイ bd7b-LMHu) 2021/08/05(木)09:37 ID:F8+XC2Dv0(9/49) AAS
>>589
あるならそれを教えてくれ。PHP.net上のurlだけでいいから。
jobで出てくるのは The GearmanClient class だけだが、さらっと見た限りなんか違うっぽいし。

というかね、PHP.netは本当に出来がいい。
あれだけは他言語も見習うべきだよ。
592
(3): (ワッチョイ 56bb-ds/h) 2021/08/05(木)09:41 ID:Sb1zsMiv0(5/8) AAS
>>591
ぐぐればLaravelが出てくるだろ

素のphpでやりたきゃ
2chスレ:php
なら別海が出てくるかもな
593: (ワッチョイ bd7b-LMHu) 2021/08/05(木)10:14 ID:F8+XC2Dv0(10/49) AAS
>>592
LaravelはPHPで書かれてるのだから、素のPHPで出来ないことが出来るはずがないだろ。
と思ってるのだが、この認識が間違ってるのか?
まあ、導入する予定はないが、見てみるよ。

Webプログラミング板のスレはさらっと読んでみたが、ぶっちゃけここと大差ないような。
まあ、ここで一通り終了したら向こうでも聞いてみるかも。

なお、俺はプログラミングの初心者ではないが、PHPに関しては初心者だ。
省2
594
(2): (ワッチョイ d108-1vA1) 2021/08/05(木)10:15 ID:jTl1oJKL0(1/13) AAS
要は「非同期処理すればいいだけ」の話なのだが、ID:F8+XC2Dv0 はLinuxができない人?

だってさ、Linuxではコマンドの最後に「&」をつけるとバックグランドジョブになるのだから、
「言語を問わず」 "コマンド > /dev/null &" ってすればいいかな?って発想になるもん

で、開発環境はDockerやVagrantで作ればいい
PHPなんて良くも悪くも適当に書けば適当に動いてくれる言語なのだから、別にそれでいいじゃんw

PHPがどういう思想から生まれた言語なのかは以下のインタービュー記事を読むといい
外部リンク:gihyo.jp
省8
595: (ワッチョイ bd7b-LMHu) 2021/08/05(木)10:21 ID:F8+XC2Dv0(11/49) AAS
>>592
あ、すまん。訂正。
laravelをさらっと見たが、dockerで導入してるところからして、俺
が想定していたJS的なフレームワークとは違い、これは実行環境形のフレームワークだな。
Job管理もあるのだろう。これはこれから読む。(とはいえ時間はかかるが)
596: (ワッチョイ d108-1vA1) 2021/08/05(木)10:24 ID:jTl1oJKL0(2/13) AAS
Rubyガイジといい、なんでガイジ(正確にはガイオヤジかw)ばかり湧くんだろうなぁ
夏だからかw
597
(1): (ワッチョイ bd7b-LMHu) 2021/08/05(木)10:24 ID:F8+XC2Dv0(12/49) AAS
>>594
> 「言語を問わず」 "コマンド > /dev/null &" ってすればいいかな?って発想になるもん
理解してないのお前だ。俺は「言語を問わず」ではなく、「実行環境依存」なのを問題視してる。

まあお前レベルの奴がグダグダ言ってくるところがPHP界隈の嫌いなところだよマジで。
598: (ワッチョイ 3a7c-Gkqf) 2021/08/05(木)10:33 ID:5AKWeG2e0(1) AAS
このガイジLaravelスレでバカにされているガイジだろw
無能で仕事もしたことが無いレベルw
599
(1): (ワッチョイ d108-1vA1) 2021/08/05(木)10:49 ID:jTl1oJKL0(3/13) AAS
>>597
だから「開発環境はDockerやVagrantで作ればいい」と書いた

とにかく質問は解決しただろ?
だったらPHPスレに居座る必要もない

WPガイジ(こいつも相当頭が固いw)といい、俺はサッサと質問を解決しガイジにお帰り頂きたいだけだ
繰り返すが固いのはチンコだけにしとけw それといももうチンコも勃たない歳か?w
600: (ワッチョイ bd7b-LMHu) 2021/08/05(木)10:51 ID:F8+XC2Dv0(13/49) AAS
>>594
ラスマスの記事を読んだ。まあ想定どおり。
これはWeb上のオープンソース開発、つまりJSやRustも同じ事。
それらに比べてPHPはポンコツ過ぎ。

ちなみにfiberが欲しいわけではない。それも「歩いて3秒の場所に自転車で行く」に近い。
俺がやりたいのは、 fclose(/dev/stdout) だよ。
ただまあ、PHPがラスマスの言うとおり勝手に開発された機能の団子なのなら、
省6
601
(2): (ワッチョイ 5d01-RnN5) 2021/08/05(木)10:57 ID:kPeKr//s0(1/3) AAS
ID:F8+XC2Dv0
質問に非同期って単語が出てない時点でお察しですな
PHPへの噛みつき方もテンプレ過ぎて10年前にタイムスリップしたかと思ったよ
加齢臭のするオッサンだろうな
602: (ワッチョイ bd7b-LMHu) 2021/08/05(木)11:01 ID:F8+XC2Dv0(14/49) AAS
>>599
> だから「開発環境はDockerやVagrantで作ればいい」と書いた
だからその解も本来は間違ってるんだよ。それは、

実行環境依存のコードしか書けないから、それぞれの実行環境を毎回用意してそこで開発しろ

なわけだろ。それはJavaが目指した「Write once, run anywhere」でも全然無いだろ。
まあ実際はともかく、そもそもプログラミング言語はOS上のレイヤだけで動いているのなら、こうあるべきなんだよ。
そしてJSとか他言語はそうなってる。
省5
603
(1): (スップ Sd9a-0pp8) 2021/08/05(木)11:04 ID:/R94gyIjd(1) AAS
>>590
あたしは575の提案をして、環境依存に難色を示されたので、代替提案をしただけなのに、おかしいだろとか、ダメだとか、あっちのほうがマシだとか、なんでそんなに上からなんですか笑

既にbody出力済みという前提も無かったし。

なるほど、でもできればリダイレクトはしたくないです。とだけ返事すればいいものを。

リダイレクトNGなら、更に別の提案もあるんだけど、萎えましたです。
604
(1): (ワッチョイ d108-1vA1) 2021/08/05(木)11:05 ID:jTl1oJKL0(4/13) AAS
俺、PHPがすげぇなんて一言も書いてないけどw
だからこそ「PHPなんて良くも悪くも適当に書けば適当に動いてくれる言語」だと書いたし
ラスマスのインタービュー記事を紹介したのだが、このガイオヤジはドヤ顔で何を勘違いしてるのだろうw

例えば>>579
> 見た目同期コマンドだが、出力を捨てれば確かにバックグランウンドで動くらしい

なーんて書いちゃってるから…ね
「&」ついてるのに、これのどこか同期コマンドなんだというツッコミw
省2
605: (ワッチョイ d108-1vA1) 2021/08/05(木)11:07 ID:jTl1oJKL0(5/13) AAS
>>601
このガイオヤジ、1人で勘違いして「信者」なんて言っちゃってるしね
この手のヤバい奴は昔から居たから、PHP長くやってると慣れるよねw
606: (ワッチョイ bd7b-LMHu) 2021/08/05(木)11:09 ID:F8+XC2Dv0(15/49) AAS
>>601
非同期知ってる俺カッケー、か。
俺がやりたいのは非同期ではないんだよ。

ここら辺なんだよ、PHPerは、(JSerもだからWeb系全般だと思うが)
本人が実力を過大評価しすぎてていちいちウザイ。

今回は同期の fclose(/dev/stdout) がベストで、この単純なことが出来ないのは奇妙だと思って聞いてる。
他の言語/実行環境なら最初に用意される物であって、存在しないのはほぼありえない。
省3
607
(1): (ワッチョイ bd7b-LMHu) 2021/08/05(木)11:14 ID:F8+XC2Dv0(16/49) AAS
>>603
> 既にbody出力済みという前提も無かったし。
いやそれは普通に読めば分かるだろ。
むしろ、接続を切ろうとしてるのに、なんでその後に何か出せると思ったの?

もしかして、本処理ではheaderだけしか出力してないと思った?
それはレアケース(常に403とか?)であって、その仮定の方が無理あるだろ。
608
(1): (ワッチョイ 5d01-RnN5) 2021/08/05(木)11:18 ID:kPeKr//s0(2/3) AAS
簡単な非同期処理で解決するのになに言ってるのこの人
顔真っ赤すぎて全レスし始めたし今日1日で何レスするのか見ものだな
PHPに親でも殺されたのかしら?
609
(1): (ワッチョイ 4ee6-Zn8Z) 2021/08/05(木)11:23 ID:xD0lMLd30(1/2) AAS
スレが伸びてると思ったら大物が登場してるな
面白いから魚拓取って他にも晒しとくわ
610
(2): (ワッチョイ bd7b-LMHu) 2021/08/05(木)11:25 ID:F8+XC2Dv0(17/49) AAS
>>604
exec自体は同期コマンドなんだよ。
そしてその書き方自体も他言語が出来るプログラマにとっては気に入らない。

exec("cmd"); // 同期
exec("cmd > /dev/null &"); // PHPではこれで非同期、しかし書き方がイマイチ
exec("cmd") > /dev/null; // これならまだマシ
exec_async("cmd"); // 本来はこうあるべき
省6
611: (ワッチョイ bd7b-LMHu) 2021/08/05(木)11:26 ID:F8+XC2Dv0(18/49) AAS
>>608-609
> 簡単な非同期処理で解決するのになに言ってるのこの人
そう思えちゃうところがPHPerだよ。
まあ他のプログラミングが出来る連中にも聞いてみるんだね。
612
(1): (ワッチョイ 5d01-d0wC) 2021/08/05(木)11:31 ID:xWv0yV5l0(1/7) AAS
自分も、そこまでLinuxには詳しくないが、
今時、2〜3台もパソコンがあれば、社内Lanで繋ぎませんか?
613
(2): (スップ Sd9a-0pp8) 2021/08/05(木)11:34 ID:Lk6xwBBud(1) AAS
>>607
いや、あなたの常識なんて知らないわよ笑
普通にアクセスされただけで(またはgetパラメーター付きとか)処理が走って、本処理が終わるまで何も出力しないように書き直して工夫することだってできる可能性もあるわけだし。
(もうここは掘り下げなくていいです)

てか、あなたが返事すべきはそこじゃないんだけど〜
614: (ワッチョイ bd7b-LMHu) 2021/08/05(木)11:43 ID:F8+XC2Dv0(19/49) AAS
>>612
開発環境の再構築に乗り気ではないのは、それは手段が目的化する恐れがあるから。

いろいろ分かってない状況(=今の俺)の場合は、環境構築こそが最大のネックで、
コード自体は書けば書けるものでしかないんだよ。
そして既にXAMPP+NetBeansでブレークポイントも当たるし、xhprofだっけ?も導入してるからそれでやってる。
(ただし環境を構築したのは4年前だから、君らからするとこれは古すぎかもしれないが)
新しい開発環境も、作ってしまえば結果的には楽勝なのかもしれないが、あっさり出来る自信がないんだ。
省6
615
(1): (ワッチョイ 5d01-RnN5) 2021/08/05(木)11:44 ID:kPeKr//s0(3/3) AAS
>>610
なるほど
Linux系のOSでコマンドの後に&を付けるとバックで動くって事を知らなかったのね
それを必死に誤魔化してるだけかw
616
(1): (ワッチョイ bd7b-LMHu) 2021/08/05(木)11:46 ID:F8+XC2Dv0(20/49) AAS
>>613
> 本処理が終わるまで何も出力しないように書き直して工夫することだってできる可能性もあるわけだし
本処理ではbodyを出力する場合もあるし、403等でheaderだけで終わる場合もある。
本処理終了後は出力はない。だからそこで切りたい。

というわけだがこれでいいか?
いずれにしてLocationでリダイレクトは度頭でやらないといけないから君の間違いだとは思うけど。

> てか、あなたが返事すべきはそこじゃないんだけど〜
省1
617: (ワッチョイ bd7b-LMHu) 2021/08/05(木)11:48 ID:F8+XC2Dv0(21/49) AAS
>>615
そう思うのは、君の周りにはその程度の人しか居ないからだね。君も含めて。
618: (ワッチョイ bd34-9imK) 2021/08/05(木)11:49 ID:cuxOZbzu0(1/3) AAS
朝の6:30から20レスww
619: (ワッチョイ bd7b-LMHu) 2021/08/05(木)12:00 ID:F8+XC2Dv0(22/49) AAS
>>613
616訂正。
> Locationでリダイレクトは度頭でやらないといけない
と思ったが、もしかしてリダイレクトが間に合わなかったケースを意図的に利用して接続を切ろうって事か?

それは解としてはだいぶ酷い。そういうコードを書くと数年後には意味不明で読めなくなる。
あとその場合は結局ブラウザ上でパースされた時に転送(=接続終了する)だけであって、
結局今の実装(ブラウザのパースタイミング次第)と同じでしかないし、改善しないと思うが。
620: (ワッチョイ 9a2c-QEAr) 2021/08/05(木)12:07 ID:bqGeTZjz0(1/8) AAS
YouTube で有名な、雑食系エンジニア・KENTA のサロンの、
バックエンド初心者用コースのポートフォリオでは、

基本情報技術者資格、Ruby on Rails, Linux, Docker Compose, Node.js(Webpack, Babel), Bootstrap
VSCode(Remote Container, WSL2 ならRemote WSL), Heroku, CircleCI、データベース

今までは、Docker Compose までが初心者用コースだったが、
最近は誰でも、Docker出来るから、
AWS Fargate, Terraform, React, Vue.js, TypeScript も
省11
621
(1): (ワッチョイ 0e70-pCDs) 2021/08/05(木)12:14 ID:dqIKXfcM0(1) AAS
スクレイピングしたいんですけど何を勉強すればいいですか
不正アクセスに問われたりしないでしょうか?
セキュリティ対策はどのようなことに注意すればよいでしょうか?
622: (ワッチョイ 56bb-ds/h) 2021/08/05(木)12:18 ID:Sb1zsMiv0(6/8) AAS
>>621
不正アクセス以外にも法的に問われるケースは存在します
まず法的な問題の解決方法を学ぶと良いです

まぁ、いずれにしても初心者のすることじゃないです
623
(1): (ワッチョイ d108-1vA1) 2021/08/05(木)12:19 ID:jTl1oJKL0(6/13) AAS
まだやってて草w
で、この朝6時から20レス以上してるガイオヤジは、なんでPHPにこだわってるの?

> マルチプロセスだから根本的に考え方が違うんだな
> 質問には確かにexecが正解のように見える
と自分で書きながらもPHPではどうしても納得いかないんでしょ?
だったらPHP以外でやればいい
質問はこれで綺麗サッパリ解決したし、あとはチラシの裏へどうぞ
省4
624: 620 (ワッチョイ 9a2c-QEAr) 2021/08/05(木)12:19 ID:bqGeTZjz0(2/8) AAS
PHP はレンタルサーバー用言語

Ruby on Rails は、プロ用フレームワーク。
WSL2 Linux, Heroku, AWS

だから、PHPでは転職できないから、KENTA のサロンでは勧めない

Node.js, Django も、Railsのシェアを崩せなかった。
募集がなく転職できないから、サロンでは勧めない

唯一の時給1万円コースの道筋は、Ruby → Go だけ
省2
625
(1): (スップ Sd9a-0pp8) 2021/08/05(木)12:28 ID:6TA++zayd(1) AAS
>>616

> 本処理ではbodyを出力する場合もあるし、403等でheaderだけで終わる場合もある。

だから、今の仕様はそうなのかも知れませんけど、その本処理はユーザーがアクセスしただけで処理が出来るなら本処理が終わるまで何も出力しないように書き換えればいいんだし、何かユーザーの入力に応じて処理するのなら、postで再アクセスさせて本処理が終わるまでなにも出力しないように書けないんですか?

まあいずれにせよ、リダイレクトはそもそも論外のようなので不毛な話しではありますが。
626: 620 (ワッチョイ 9a2c-QEAr) 2021/08/05(木)12:28 ID:bqGeTZjz0(3/8) AAS
食べチョクみたいな若い女の子が、Ruby on Rails で1人で始めたサイトでも、
求人募集は、AWS に詳しい人

システム構築運用できる人

コロナで取引量が30倍になった。
こういうのは言語・アプリで解決できる問題じゃない

だから、むしろプログラマーよりも、LinuC などのLinux の資格保持者とか、
AWS Solution Architect が必要
省2
627
(1): (ワッチョイ bd7b-LMHu) 2021/08/05(木)12:30 ID:F8+XC2Dv0(23/49) AAS
>>623
まあforkしたいわけでもないんだけどね。それも事を大きくしすぎ。

Pythonを選択しないのは、俺が知らないからだね。
ただしレンタルサーバーでも使えるから、選択肢としてはありなんだろうけど、
言っちゃ悪いがPython使う理由なんてPHP以上にないでしょ。
628
(2): (ワッチョイ bd7b-LMHu) 2021/08/05(木)12:35 ID:F8+XC2Dv0(24/49) AAS
>>625
一応聞くが、headerはbodyの後には出力出来ないってのを知ってるか?

ちなみに本処理はgetであって、postではない。
そして304ならheaderのみ、200ならheader+bodyの、至極普通のget処理だ。
その200、つまりheader+bodyを送信後に再びLocation"header"を出すのは不可能だが、それは理解してるか?
629
(1): (ワッチョイ d108-1vA1) 2021/08/05(木)12:37 ID:jTl1oJKL0(7/13) AAS
>>627
Python使えなんて一言も書いてないんだがw
PHPのexec()の例は別の言語でも一緒って例を示しただけ

ほんと頭が固いというか思い込みが激しいというか…
現場に居たら陰口叩かれまてるタイプだわお前はw
630: (ワッチョイ bd7b-LMHu) 2021/08/05(木)12:44 ID:F8+XC2Dv0(25/49) AAS
>>629
なら、PythonもPHPと同程度に文法が糞だ、というだけだろ。
実際、Pythonを「プログラミング言語として」褒めてる奴も少ないだろ。
みんなが使ってるから使う、というのが大半であって。
631
(4): (ワッチョイ d108-1vA1) 2021/08/05(木)12:44 ID:jTl1oJKL0(8/13) AAS
ちなみに、ものすごく低レベルな方法だがこんなやり方もある

> SQLiteを操作してhttp出力
の中に
<img src="重い処理をするPHP" width="1" height="1">

と書くだけw
これならcronが使えない環境でも簡単にできる
これで解決したら笑う
632
(1): (ワッチョイ bd7b-LMHu) 2021/08/05(木)12:48 ID:F8+XC2Dv0(26/49) AAS
>>631
それは面白い発想だが、べき論で言えば反則だろうよ。
ただし、確かに技術的には解決する。
633
(2): (ワッチョイ bd7b-LMHu) 2021/08/05(木)12:58 ID:F8+XC2Dv0(27/49) AAS
>>631
いや待て、今回はhtmlではなかったので駄目だった。
主にjsonとxmlだ。

まあしかし、発想自体は面白いよ。
ただ、なんか余計なアクセスが出てるように見えるからそれで実装することはないが。

今現在の実装だと、「運が悪く、ブラウザも怠慢していれば、倍かかる時があります」であって、
そんなに問題な実装でもないし、実際htmlを出すのは最初だけ(SPA)にしようとしてるので、それでは解決出来ない。
634
(1): (ワッチョイ d108-1vA1) 2021/08/05(木)13:00 ID:jTl1oJKL0(9/13) AAS
>>632
こんなもんは、例えば何かしらのトラッキングや、メルマガで配信するHTMLメールで開封率を調べる時等で
当たり前に使われてる方法だけどねぇ…

でも、元の質問は>>575だろ?
これ>>631で解決するよな?w

でもどうせ気に食わないんだろ? だったらPHPなんかやめてサッサと他の言語でやればいい
なんでこのスレに居るわけ? サッサと出ていけよw
635
(1): (ワッチョイ d108-1vA1) 2021/08/05(木)13:06 ID:jTl1oJKL0(10/13) AAS
>>633
また後付でなんか出てきたw
>>575はとにかく、重たい後処理をするPHPを非同期で起動させればいいだけ
それがexec()だろうがproc_open()だろうが<img>タグだろうが同じだ

それが我慢ならんのなら、それ以上PHPにこだわる必要性は何もない
まぁお前みたいな「面倒くさい人」はどこにでもいるよw
もうええでしょ
636: (ワッチョイ bd7b-LMHu) 2021/08/05(木)13:08 ID:F8+XC2Dv0(28/49) AAS
>>634
ああ、Webビーコンと大昔に呼ばれてて、その結果htmlメールは悪だとされた奴だな。
今でも普通に使ってるのか?それはそれで問題だとは思うが。
少なくとも、俺は>>631で出来る状況であってもそれは使わない。今現在の実装の方がマシ。
637: (ワッチョイ 5d01-40L9) 2021/08/05(木)13:08 ID:xWv0yV5l0(2/7) AAS
pythonというのは、
等加速度直線運動の3公式で、多くの問題を解決するようなもので、
これをできれば、スピードアップするらしいが。
高度なことをできる部品はある。
638
(1): (ワッチョイ bd7b-LMHu) 2021/08/05(木)13:26 ID:F8+XC2Dv0(29/49) AAS
>>635
ちなみに
> 重たい後処理をするPHPを非同期で起動させればいいだけ
これが間違い。

単に、出力を閉じる connection_close みたいな関数を呼んでユーザーとの接続を終了させ、
そのあとそのプロセスが引き続き後処理をすれば良いだけだし、これが一番軽い実装だ。
そして他言語だとこれは出来るのに、何故この基本的な操作ができないのだ?という話。
省2
639: 620 (ワッチョイ 9a2c-QEAr) 2021/08/05(木)13:41 ID:bqGeTZjz0(4/8) AAS
>>628
Ruby on Rails でも、view を、render できるのは1回限り。
double rendering 禁止

>>633
Railsなら、
format.html
format.json
省9
640
(1): (ワッチョイ 4dcf-pCDs) 2021/08/05(木)13:44 ID:/9S9EoKc0(1) AAS
robots.txtを守らないと逮捕されるって本当ですか?
641
(1): (ワッチョイ d108-1vA1) 2021/08/05(木)13:47 ID:jTl1oJKL0(11/13) AAS
>>638
だからさー…あのなぁ…俺は「>>575みたい低レベルな話なら」それで解決するだろ?と言ってる
しかもレンタルサーバでやるような低レベルなもんだろ?

ここは質問スレだ
俺は「その低レベルな質問に対して方法を提示した」だけ

言語仕様が我慢できないなら他の言語を使え 何度も同じ事を言わせるな
つかお前、なんかの病気じゃね?w
642
(3): (ワッチョイ d108-1vA1) 2021/08/05(木)13:51 ID:jTl1oJKL0(12/13) AAS
>>640
どこから聞いたんだよそんな話w

例えば640が、robots.txtの記述内容を無視してスクレイピングをしたとする
そのせいでサーバに負荷をかけまくりサーバをダウンさせれば、罪に問われる可能性はあるわな
もしくは著作権で守られているコンテンツを無視して転載しても、罪に問われる可能性はあるわな

でもそれは、robots.txtを守らないと逮捕されるって話とは別の話だよな?
理解できるか?
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); // ←本処理の代わり(ここまで何も出力しない)
省7
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等は初耳なので大幅に勘違いしてるかもだが)
なお、確かに今回の俺の用途ならこれで対応可能だ。
省13
647: (ワッチョイ bd7b-LMHu) 2021/08/05(木)14:31 ID:F8+XC2Dv0(31/49) AAS
>>641
> しかもレンタルサーバでやるような低レベルなもんだろ?
これはその通りだ。
お前らのやってるエンタープライズなコードでは許されないような方法でも、許されるのだろうさ。

とはいえ、それをやるかどうかはまた別だろ。
プログラミング初心者が四苦八苦して数百行のやっと動くコードを書いてる状況ではないんだよ。
他言語ではバリバリに書ける奴がPHPだとデタラメやっていい、ってことにもならないだろ。
省2
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"
省4
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回+本処理

というようにユーザーには見えることになる。
結果、ネットワークが速くて後処理時間より短いならこれもありかもしれないけど、ネットワークも地味に重い。
省6
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側からはデータにアクセスしようがない。(送信途中のデータは読めない)

よってその方法では出来ない。
省7
659: (ワッチョイ d108-1vA1) 2021/08/05(木)15:31 ID:jTl1oJKL0(13/13) AAS
>>657
そいつは有名なキチガイだから相手にしたら駄目よ
今このスレでも ID:bqGeTZjz0 で支離滅裂な事を書いてるけど頭の病気だから
1-
あと 343 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.044s