[過去ログ]
【PHP】下らねぇ質問はここに書き込みやがれ 12 (1002レス)
【PHP】下らねぇ質問はここに書き込みやがれ 12 http://mevius.5ch.net/test/read.cgi/tech/1619667579/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
533: デフォルトの名無しさん (ワッチョイ d52c-Fdub) [sage] 2021/07/30(金) 16:28:29.52 ID:7i2immr80 PHPの本は半分くらい攻撃対策がページを占めてる印象 http://mevius.5ch.net/test/read.cgi/tech/1619667579/533
534: デフォルトの名無しさん (ワッチョイ d108-1vA1) [sage] 2021/07/30(金) 17:00:35.86 ID:UtQvC7c20 >>531 本が必要なら買い換えるべき(最低限PHP7…できれば7.3〜対応のものを ) 作りたいものがはっきり決まってるのはとても良い事 とにもかくにも、まずはローカルにまともな開発環境を作ろう スレの質問を見てると、開発環境を作れていないであろう人の質問は色んな意味でヤバいw 開発環境を作るのははじめは面倒だと思うけど急がば回れ ※533はRubyガイジなので注意 http://mevius.5ch.net/test/read.cgi/tech/1619667579/534
535: デフォルトの名無しさん (ワッチョイ faad-ozmT) [sage] 2021/07/30(金) 19:29:14.24 ID:B9OLCwSG0 どうせなら新しい8を勉強した方が効率いいかなと思ったんですけど、今使っているレンタルサーバがまだ8に対応してませんでした 7.3以上ですね、わかりやすそうな本を店頭で探してみます 予約システムの作り方とか似たようなものがないかも探してみよう ローカルの環境開発、どの本にも書いてあったので昔入れてました 懐かしい これも入れておきます いつ完成するかわかりませんが久しぶりで楽しみです アドバイスありがとうございした http://mevi
us.5ch.net/test/read.cgi/tech/1619667579/535
536: デフォルトの名無しさん (オッペケ Sr05-4OD8) [] 2021/07/30(金) 19:29:28.58 ID:r27NHL07r img.phpを用意して<img src="output_image.php?id=12123"> header.phpのbodyに<img src="output_image.php?id=12123">と追加したのですが表示されないようです。 output_image.php?idで画像を表示できるのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1619667579/536
537: 蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd9a-KTRx) [sage] 2021/07/30(金) 19:34:30.43 ID:GDRR8sIEd 確認します。 img.phpというファイルはありますか? output_image.phpというファイルはありますか? output_image.php?id=... に直接アクセスして画像は表示されますか? http://mevius.5ch.net/test/read.cgi/tech/1619667579/537
538: デフォルトの名無しさん (オッペケ Sr05-4OD8) [] 2021/07/30(金) 19:40:25.38 ID:r27NHL07r 画像パスがupload.php?item=12123となっているのに対し <img src="upload.php?id=12123">では取得できない気がするのですが、idから取得できるんでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1619667579/538
539: デフォルトの名無しさん (オッペケ Sr05-4OD8) [] 2021/07/30(金) 19:46:25.67 ID:r27NHL07r output_image.phpというファイルを作って中に<img src="upload.php?id=12123"> header.phpのbodyに<img src="upload.php?id=12123">と記載しても表示されません 直接output_image.php?id=12123にアクセスしても表示されないようです http://mevius.5ch.net/test/read.cgi/tech/1619667579/539
540: デフォルトの名無しさん (オッペケ Sr05-4OD8) [] 2021/07/30(金) 19:58:25.74 ID:r27NHL07r wordpressの場合特殊なのか、idから画像をリサイズして表示するときに<php echo wp_get_attachment_link( 12123 ); ?>で表示されました。 テンプレートタグ/wp get attachment link - WordPress Codex 日本語版 http://mevius.5ch.net/test/read.cgi/tech/1619667579/540
541: デフォルトの名無しさん (ワッチョイ d563-IKHw) [sage] 2021/07/30(金) 19:58:58.68 ID:ScATWV4k0 そらそうだろ http://mevius.5ch.net/test/read.cgi/tech/1619667579/541
542: デフォルトの名無しさん (オッペケ Sr05-4OD8) [] 2021/07/30(金) 20:00:25.98 ID:r27NHL07r いずれはwordpressではなくデータベース軸でサイトを立ててみたいので、output_image.php?id=...で なぜ表示できないのかも知りたいんですが… http://mevius.5ch.net/test/read.cgi/tech/1619667579/542
543: デフォルトの名無しさん (オッペケ Sr05-4OD8) [] 2021/07/30(金) 20:09:34.89 ID:r27NHL07r <php echo '<img src="data:image/jpeg;base64,' . base64_encode(file_get_contents('wp-content/uploads/2021/07/7mgpH3K.jpg')) . '">';?> だと同じように表示されました。教えていただきありがとうございます。 第三者がアップロードするかどうかでセキュリティを考えるんですね、コメントしかりページナビしかりマイページ機能しかり。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/543
544: 蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd9a-KTRx) [sage] 2021/07/30(金) 20:34:44.87 ID:GDRR8sIEd WordPressはWPの作法に従わないと動かないことがあるよ。裏でCSSやら.htaccessやらJavaScriptやらが動いていて、実際の処理は隠蔽されてるから。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/544
545: デフォルトの名無しさん (オッペケ Sr05-4OD8) [] 2021/07/30(金) 21:45:55.50 ID:r27NHL07r >>544 ありがとうございます http://mevius.5ch.net/test/read.cgi/tech/1619667579/545
546: デフォルトの名無しさん (オッペケ Sr05-4OD8) [] 2021/07/30(金) 21:52:20.21 ID:r27NHL07r > 「不正な画像をアップロード」できるのも内部犯に限られることになる XSS を利用して不正アップロードする手口が徳丸さんのとこで紹介されていました。 https://www.youtube.com/watch?v=FpCabifwhKg WordPress なら外部から似たような攻撃でアップロードされる可能性があるので、プログラムレベルでも適切にアップロード対策をしておくべきだと思います。 このような回答が追加されていたのですが外部からも勝手にアップロードされる危険性はあ
るのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1619667579/546
547: デフォルトの名無しさん (ワッチョイ d610-oSv0) [sage] 2021/07/30(金) 23:36:35.91 ID:1geFHcN20 ありますよ。実際に自分はアップローダーからマルウェア仕込まれて VPSサーバーを総入れ替え舌経験があります。 WordPress宛の攻撃は毎日あるし、できる対策は全てしたほうが良いでしょうね http://mevius.5ch.net/test/read.cgi/tech/1619667579/547
548: デフォルトの名無しさん (アウアウウー Sa09-d0wC) [] 2021/07/31(土) 01:52:34.20 ID:v7hkUDSma この動画を見たところ検索フォーム?のXSS対策コードの記載漏れから不正コードを入力されて管理画面に侵入されたみたいですが 要するに第3者が侵入出来るような検索フォームやお問い合わせフォームやコメントフォームやマイページの対策を怠らない事で防げるということですよね? 自分のみがアップロードする場合は該当しないのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1619667579/548
549: 蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd9a-KTRx) [sage] 2021/07/31(土) 03:18:27.24 ID:ZYWMYotdd 脆弱性は様々な枯れてない技術から発見されている。あのWPだってあちこちからゼロデイ攻撃が見つかっている。WP のテーマやプラグインにも脆弱性がある。度重なる更新や脆弱性に対応できないならWPを使うのをやめた方がいい。 パスワードセキュリティにも危険性がある。パスワードはセキュリティの基本であり、5文字程度の単純なパスワードはパスワードクラッカーで短い時間で突破されてしまう。攻撃者は性能の高い計算能力を持ち、世界中のどこからで
も攻撃できる。パスワードは単純なのはダメ、短いのはダメ、憶測できるのはダメ。 あるいはソーシャルハッキングや電波漏れなどの未知のハッキング手法からも攻撃が成立することがある。 こうすれば絶対にハッキングされないという方法はないが、危険性が高いものを避けることは可能。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/549
550: デフォルトの名無しさん (ワッチョイ d610-oSv0) [sage] 2021/07/31(土) 10:31:19.92 ID:fqpnvpaJ0 >>548 WordPressの場合、自分は管理画面のURL変えてIP制限入れてますよ。 自分のみがアップロードなら、自分しか使えないIPアドレス制限した方がいいし、 ホスト名とか環境変数とか、そこまでチェックした方が確実だと思います。 ま、一番良いのはWordPress使わないことですけどね http://mevius.5ch.net/test/read.cgi/tech/1619667579/550
551: デフォルトの名無しさん (ワッチョイ 56bb-ds/h) [sage] 2021/07/31(土) 10:46:33.80 ID:z/SvtBD30 >>550 動画見ろよ IPの制限無関係に投稿する仕組みの紹介だぞ http://mevius.5ch.net/test/read.cgi/tech/1619667579/551
552: デフォルトの名無しさん (ワッチョイ fa02-ufkm) [sage] 2021/07/31(土) 11:04:47.11 ID:JJoM48pY0 わざとセキュリティホール作って、ほらね?危ないでしょ?ってアホかよw まずWPに同じセキュリティホールあるかの議論が先だろw 無いけどw http://mevius.5ch.net/test/read.cgi/tech/1619667579/552
553: デフォルトの名無しさん (ワッチョイ 56bb-ds/h) [sage] 2021/07/31(土) 11:34:42.98 ID:z/SvtBD30 >>552 ユーザ投稿のプレビュー箇所とアップロード機能を持つ管理画面って,WordPressで頻繁に見るんだが? それぞれに問題箇所があるとwebshell置かれて終了!の可能性を指摘する動画だけど、理解できてる? http://mevius.5ch.net/test/read.cgi/tech/1619667579/553
554: デフォルトの名無しさん (ワッチョイ 9154-mx9M) [] 2021/07/31(土) 11:37:50.11 ID:BUpo1U8M0 プログラムで例えば4×4のマップがあった場合、4という数字は私は格子点数と呼んでいますが、皆さんは何と呼びますか? http://mevius.5ch.net/test/read.cgi/tech/1619667579/554
555: デフォルトの名無しさん (ワッチョイ fa02-ufkm) [sage] 2021/07/31(土) 18:56:05.10 ID:JJoM48pY0 >>553 一連の流れでセキュリティの指摘をしたわけではなく、ただ動画を宣伝したかっただけなんですね! 理解できましたw http://mevius.5ch.net/test/read.cgi/tech/1619667579/555
556: デフォルトの名無しさん (ワッチョイ d108-1vA1) [sage] 2021/08/02(月) 10:21:18.11 ID:JwyUb7gK0 >>536 Oh... それ、単に「例」として出しただけなのでw 例えば(あくまでも例え話ねw) ID | 画像のパス 1 | hage/abc.jpg 2 | fuge/345.jpg みたいにデータ管理してたとして、 id=1 を渡せば hage/abc.jpg を取得できるようにすれば結果的に output_image.php?id=1 とすれば、「hage/abc.jpg」を表示できるでしょ?ってこと それを、 output_image.php?path=hage/abc.jpg みたいに直接パスを渡すような設計にしてると、あなたのレベルで
は危ないよってだけ http://mevius.5ch.net/test/read.cgi/tech/1619667579/556
557: デフォルトの名無しさん (ワッチョイ d108-1vA1) [sage] 2021/08/02(月) 10:45:18.84 ID:JwyUb7gK0 >>546 > 外部からも勝手にアップロードされる危険性はあるのでしょうか? そりゃ「可能性」はあるよw 人間が作るものにバグ(脆弱性)がないものなんてない で、>>546にはその動画の意味は理解できる? 理解できてないよね 理解できてないのに、何をどうやって「対策」するの?w その動画に指摘されている脆弱性は、「プラグインのXSS脆弱性を悪用した攻撃」なので、 対策といったところで、あなたのレベルでできるのは「WP本体やプ
ラグインは常に最新版を使う」事ぐらいだよ? ※その動画の攻撃例は管理画面にIP制限なんかしても無駄ですw 結局、「画像は546本人しかアップロードしない」んだよね? だったら、「アップロードした画像には問題ない」事を前提に話を進めようよ 546は、「HTMLやPHPの基礎がないままWordPressから始めた」のがいけない 基礎がガタガタなの そんな人が細かい事を気にしたところで、話は前に進まんよ http://mevius.5ch.net/test/read.cgi/tech/1619667579/557
558: デフォルトの名無しさん (ワッチョイ d108-1vA1) [sage] 2021/08/02(月) 10:50:01.92 ID:JwyUb7gK0 >>552 >>555 546の動画の例は、WordPressでECサイトを構築する際の「超定番」プラグインEC-CUBEのXSS脆弱性を悪用したもので、 「実際に悪用事例も出た」ものだけどね… そんな事すら理解できないなら、横からしゃしゃり出てこずに黙っておけw http://mevius.5ch.net/test/read.cgi/tech/1619667579/558
559: デフォルトの名無しさん (ワッチョイ d108-1vA1) [sage] 2021/08/02(月) 10:59:23.86 ID:JwyUb7gK0 >>546 >>557に補足しとくと、WordPress本体・プラグイン・テーマファイルの致命的な脆弱性を悪用され、 WordPress権限から自由にファイルのアップロード・編集が可能になった場合、 サーバー内の画像をPHP経由で出力する際のセキュリティ(笑)なんか、いくら考えても無駄ですw その点については>>518さんが指摘している通り 例えるなら、「ヘルメットを被っていたら快速電車にダイブしても大丈夫だよね?」って聞いてるみたいも
んw だから、自分しかアップロードしない画像ファイルは安全であるという前提で、話を進めようよ…いや頼むからそうしてくれw てかRSSの時もそうだけど、たったこんだけの事にどんだけ時間かけてるのよw http://mevius.5ch.net/test/read.cgi/tech/1619667579/559
560: デフォルトの名無しさん (ワッチョイ 8ead-Yiki) [sage] 2021/08/02(月) 11:36:09.87 ID:CDsmjzwf0 いいから構うやつもまとめてWPスレ行って帰ってくるなよ http://mevius.5ch.net/test/read.cgi/tech/1619667579/560
561: デフォルトの名無しさん (ワッチョイ 9905-pCDs) [sage] 2021/08/02(月) 11:55:16.38 ID:jY8DN4600 自演ですし http://mevius.5ch.net/test/read.cgi/tech/1619667579/561
562: デフォルトの名無しさん (スプッッ Sd9a-1M12) [sage] 2021/08/02(月) 14:06:37.03 ID:LY8fDkppd 最初から自分しかアップロードしない前提なのにどんだけレスしたら気が済むの、このセキュリティガイジ http://mevius.5ch.net/test/read.cgi/tech/1619667579/562
563: デフォルトの名無しさん (ワッチョイ 4ee6-8rSu) [sage] 2021/08/02(月) 14:39:06.84 ID:nA0UljqA0 セキュリティガイジは別人だろ ガイジなのは質問者、それに対しセキュリティ全波の話を持ち出してる人、煽るしか能のない人 http://mevius.5ch.net/test/read.cgi/tech/1619667579/563
564: 蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd9a-jBGF) [sage] 2021/08/02(月) 14:51:48.05 ID:LkFRX9kvd >>554 普通にサイズでよくね? http://mevius.5ch.net/test/read.cgi/tech/1619667579/564
565: デフォルトの名無しさん (ワッチョイ 5d01-QEAr) [sage] 2021/08/04(水) 15:31:27.53 ID:QhYrANy70 Array(a1,b1,c1,d1,...)とArray(a2,b2,c2,d2,...)を足し算して、 2次元配列にする時って、どうすればいいでしょうか? $x[0]がArray(a1,b1,c1,d1,...)の時、 $x[1] = $s;としたら、 $xがArray(a2,b2,c2,d2,...)で上書きされてしまいました。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/565
566: デフォルトの名無しさん (ワッチョイ 5d01-QEAr) [sage] 2021/08/04(水) 15:33:03.22 ID:QhYrANy70 $s=Array(a2,b2,c2,d2,...); です。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/566
567: デフォルトの名無しさん (ワッチョイ 5d01-QEAr) [] 2021/08/04(水) 15:44:34.90 ID:QhYrANy70 foreach とか for とか使うしかないでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1619667579/567
568: 565-567 (ワッチョイ 5d01-QEAr) [sage] 2021/08/04(水) 16:12:58.96 ID:QhYrANy70 foreach とか for で、解決しました。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/568
569: デフォルトの名無しさん (ワッチョイ 9a2c-QEAr) [sage] 2021/08/04(水) 16:36:34.91 ID:BE8GLseK0 Ruby なら、zip で複数の配列を、組み合わせられる ary_1 = [ 1, 2, 3 ] ary_2 = [ 10, 20, 30 ] p tmp_ary = ary_1.zip( ary_2 ) #=> [[1, 10], [2, 20], [3, 30]] p results = tmp_ary.map{ |a, b| a + b } #=> [11, 22, 33] http://mevius.5ch.net/test/read.cgi/tech/1619667579/569
570: デフォルトの名無しさん (ワッチョイ d108-1vA1) [sage] 2021/08/04(水) 19:56:28.27 ID:JeeF5Fq/0 ゴミのような流れに草w http://mevius.5ch.net/test/read.cgi/tech/1619667579/570
571: デフォルトの名無しさん (ワッチョイ 3a7c-Gkqf) [sage] 2021/08/04(水) 20:48:03.21 ID:nRiwNpi/0 相変わらずRubyガイジがPHPのスレを荒らしに来るw http://mevius.5ch.net/test/read.cgi/tech/1619667579/571
572: デフォルトの名無しさん (ワッチョイ bd7b-LMHu) [sage] 2021/08/05(木) 00:28:51.82 ID:F8+XC2Dv0 PHPで接続を明示的に切る方法ってある? 本処理後、後処理としてDBの整理を行うのだが、 本処理と後処理が同程度の重さになるので、可能であればTCP接続を明示的に切りたい。 そうすればブラウザが確実に処理を始めるので、クライアント側の体感速度が上がることを期待している。 とりあえずfush()はした。出力バッファは使ってないので、ob_xxxxはやってない。 他に何かある? http://mevius.5ch.net/test/read.cgi/tech/1619667579/572
573: デフォルトの名無しさん (ワッチョイ 5d01-pCDs) [] 2021/08/05(木) 00:42:12.36 ID:N2Iw/qnR0 意味不明 http://mevius.5ch.net/test/read.cgi/tech/1619667579/573
574: デフォルトの名無しさん (ワッチョイ d563-IKHw) [sage] 2021/08/05(木) 00:45:52.55 ID:JVVnzoun0 DBがクローズされているなら、PHPへのアクセスは関係ないんじゃ? というか、設計がおかしくない? http://mevius.5ch.net/test/read.cgi/tech/1619667579/574
575: デフォルトの名無しさん (ワッチョイ bd7b-LMHu) [sage] 2021/08/05(木) 01:01:42.06 ID:F8+XC2Dv0 ああすまん、書き方が悪かった。 こちらはPHPの初心者なので、そちらが想定しているような高度なことはしていない。 「TCP接続」をDBとの接続だと想定したのだと思うが、こちらはSQLiteだ。 クライアント(ブラウザ)からのアクセスで、SQLiteを操作してhttp出力を行う。 その後、ユーザーに対しての追加の出力はないので、ここでユーザーとのTCP接続(=http接続)を切りたい。 (確かGoかNodeだとこれが出来た) さらにその後、後処理を行うのだが、こ
れが本処理と同じ程度に重い。 そしてexitで終了する。 ブラウザがexitにてTCP接続が切れてからパースを開始すると、体感2倍重くなってしまう。 flushでデータを全部送りきることは出来るが、 ブラウザはパースしないと全部来たことが分からないので、fulsh後にすぐ動くことは期待出来ない。 http接続が切れれば、それ以上のデータはないと確定するので、パースを確実に開始する。 だからこれを早めたい。 何か明示的に出来る方法ってある? http://mevius.5ch.net/test/read.cgi/tech/1619667579/575
576: デフォルトの名無しさん (アウアウウー Sa09-d0wC) [sage] 2021/08/05(木) 01:28:56.20 ID:qQkilq/Na 404のっとファウンドなどのエラーページを自作しる http://mevius.5ch.net/test/read.cgi/tech/1619667579/576
577: デフォルトの名無しさん (ワッチョイ d563-IKHw) [sage] 2021/08/05(木) 01:43:30.62 ID:JVVnzoun0 >>575 クライアントに応答を返すPHPは、応答を返したら、 後処理を行うPHPを起動し、自身はその終了を待たずexitする http://mevius.5ch.net/test/read.cgi/tech/1619667579/577
578: デフォルトの名無しさん (スップ Sd9a-0pp8) [sage] 2021/08/05(木) 03:48:16.16 ID:9Ap3lZssd >>575 〜ここまで本処理 // 結果を待たずに次の行へ進む非同期コマンド exec('php 後処理.php > /dev/null &'); exit; もし後処理.phpに何かパラメーターを渡したい場合は exec('php 後処理.php パラ1 パラ2 パラ3 > /dev/null &'); 受け取る側の「後処理.php」の中で$argvに配列として格納されてる http://mevius.5ch.net/test/read.cgi/tech/1619667579/578
579: デフォルトの名無しさん (ワッチョイ bd7b-LMHu) [sage] 2021/08/05(木) 06:36:47.33 ID:F8+XC2Dv0 >>577-578 なるほど、マルチプロセスだから根本的に考え方が違うんだな。ありがとう。 (だとすると、途中で明示的に接続を切れたのはNodeか?) マニュアルページが完全にstackoverflow並のtips集になっていることにも驚いた。 https://www.php.net/manual/ja/function.exec (やたらWindowsについての言及が多いが、意外にIIS上で動かされてるのか?) 見た目同期コマンドだが、出力を捨てれば確かにバックグランウンドで動くらしい。 そしてい
きなり環境依存コードを注入するというのはプログラマとしては頂けない。 ここら辺のノリがPHPの嫌いなところだ。 プログラマ向けに作ってないから、プログラマの常識でやってると変に嵌ったり、見落としたりする。 とはいえ、便利なのは事実だし、所詮スクリプトだと割り切るのも必要なのだろうけど。 とりあえずの問題は、開発環境がローカルホストのXAMPP(つまりwindows)で、 実行環境がレンタルサーバー(つまりLinux)ってところだが。 まあ、いずれにしてもありがとう。 この質問には確かにexecが正解のように見える。 http://mevius.5ch.net/
test/read.cgi/tech/1619667579/579
580: デフォルトの名無しさん (ワッチョイ 56bb-ds/h) [sage] 2021/08/05(木) 06:50:31.72 ID:Sb1zsMiv0 >>579 ローカルコマンド叩くのに環境依存がない言語なんてあるわけ無いだろ 嫌いになるのは勝手だけど、アホな理由で嫌いになるなよ http://mevius.5ch.net/test/read.cgi/tech/1619667579/580
581: デフォルトの名無しさん (ワッチョイ bd7b-LMHu) [sage] 2021/08/05(木) 07:24:02.52 ID:F8+XC2Dv0 >>580 だから発想が『プログラマとしては』おかしいんだよ。 少なくともNodeでもGoでも、環境依存無しのコードを記述出来る。 PHPでは出来ないのに、それでも良しとされてる。 そういうところが嫌いなんだよ。 覚えだが、上記の通り、明示的に切れたのは多分Nodeだ。 これはそもそもシングルスレッドだから、PHPのようにスクリプト終了=接続終了とは出来ないから当たり前だが。 そしてGoなら内部プロセス(goroutine)で、となる。もちろん環境
とは依存しない。 PHPでも、session_write_closeと同様に、例えば write_close() というコマンドを作り、 そこで接続終了、それ以降の出力は全部捨てられます、とすれば、全く問題なく環境依存無しに出来る。 だからプログラマが主導して開発をしていればとっくにそうなってるはずなのに、 現実としてそうなってないから、色々無駄に戸惑う。だから好きにはなれない。 何だかんだで意外とNodeが蔓延っているのは、ここら辺の理由もある。 今回の使途ならJSのsetTimeoutでの実装の方がプログラムとしては断然美しくフィットする。 PHPで書くと、こん
なコードにしかならないのかよ、と本当に愕然としてしまう。 腕が良くてもまともなコードを書けないんだよ。 それは上記の通り、PHPの開発の方向性が間違ってるからだ。 (とはいえ例の三項演算子についてはPHP8で修正されてるようだが) まあとにかくだ、プログラマとしては禁忌に近い「環境依存コードの注入」を普通にやらせるのは異常だし、 そんな状況が放置されてること自体も異常なんだよ。 だからプログラマがPHPを好きになることはないと思うよ。 PHPを好きな奴は、他言語をまともに使えない奴だけだと思う。 http://mevius.5ch.net/test/read
.cgi/tech/1619667579/581
582: デフォルトの名無しさん (ワッチョイ 56bb-ds/h) [sage] 2021/08/05(木) 07:52:13.16 ID:Sb1zsMiv0 >>581 んなアホなことやりたいなら、phpでWebサーバ書けばいい メジャーなのはないけど、ふつうにGitHubにも転がってる そもそもフィトするもんが別にあるんだったらそっち使うのがエンジニアだぞ http://mevius.5ch.net/test/read.cgi/tech/1619667579/582
583: デフォルトの名無しさん (ワッチョイ bd7b-LMHu) [sage] 2021/08/05(木) 08:23:37.05 ID:F8+XC2Dv0 >>582 だからその発想がおかしいんだよ。フィットしてるなんて到底言えない。 PHPは「できればいい」「動けばいい」で済ませる初心者〜中級者の感覚に合ってる。 だからその層には絶大な支持を受けるが、上級者には支持されない。 実際、PHPが「プログラミング言語として」素晴らしいなんて言ってる上級者は世界中でも誰一人もいないだろ。 connection_closeとかを用意すればいいだけなのに、 外部コマンドで自己ファイルをバックグラ
ウンドプロセスとして起動する、なんて解は、頭がおかしいレベルだ。 自宅から歩いて3秒の場所に自動車で行く、に近い。 以前は「XAMPPなんて捨てろ。どうせ本番環境では動かないし、XAMPPで開発する意味はない」とか言ってる奴も居たが、 実際はこの辺の、それが環境依存コードだと理解出来ないレベルの初心者が勝手にやらかしまくってるだけだと思うよ。 そしてその意味も分からず、「XAMPPなんて捨てろ」だけ真に受けた初心者が、 例えば>>394みたいに、右も左も分からないのにリモート環境で開発する、みたいな、余計におかしな事をやらか
す要因となってる。 そしてその根元は、PHP自体に落とし穴がありまくるからだ。 なんでそこで環境依存コードを注入するしか解がないの?というね。 が、まあ、parallelとかphtとかはここら辺の対策用なのかな? それにしても connection_close とかの単純な解の方が断然いいが。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/583
584: デフォルトの名無しさん (ワッチョイ 56bb-ds/h) [sage] 2021/08/05(木) 08:42:00.19 ID:Sb1zsMiv0 >>583 使ってる方からするとWebサーバレベルのハンドリングを意識しなくて良いレベルで抽象化されていることが使いやすいし、不足箇所は最近だとフレームワークが補完してくれている ところで、支持してない上級者って何? サーバサイド言語として、phpが必要ないって言っている人がいる? 普通に用途が合えばphp選択するのがエンジニアだと思うけど? http://mevius.5ch.net/test/read.cgi/tech/1619667579/584
585: デフォルトの名無しさん (ワッチョイ bd7b-LMHu) [sage] 2021/08/05(木) 08:50:37.83 ID:F8+XC2Dv0 というか、思うにこれはPHPだと「出力用」と「DB整理用」のphpを別にして、 「DB整理用」は別にcronで叩く、というのが一般解なのかな? これ自体も外部依存しているのでよい解ではないが、 ここまで蔓延っているPHPがこの辺の「普通にやる処理」を上手く記述出来ないのもあり得ない。 だとすると、現実的にはこの解なのだろう。 とはいえ、最安のレンタルサーバーだとcronは使えないし、 纏めて整理する時に命中したらその時だけ奇妙に遅くなるわ
けで、 出来ればマメに整理しておきたいのだが。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/585
586: デフォルトの名無しさん (スップ Sd7a-0pp8) [sage] 2021/08/05(木) 08:55:46.01 ID:yR6UN7xmd >>583 〜ここまで本処理 //接続が切れてもスクリプトを実行させる ignore_user_abort(true); // メッセージ表示ページへ飛ばす header('Location: 本処理完了しました.html'); flush(); ここから後処理〜 環境依存使わないなら、こんなんでどうですか? http://mevius.5ch.net/test/read.cgi/tech/1619667579/586
587: デフォルトの名無しさん (ワッチョイ da52-wbwm) [sage] 2021/08/05(木) 09:02:59.57 ID:e8dh7hYU0 >>583 ソースもないのに誰一人いないとか断言しちゃうから、だらだら長いだけで説得力のない空っぽな主張に見えちゃうんだぞ お前さんの主張を支持する上級者は誰一人いないw http://mevius.5ch.net/test/read.cgi/tech/1619667579/587
588: デフォルトの名無しさん (ワッチョイ bd7b-LMHu) [sage] 2021/08/05(木) 09:24:21.23 ID:F8+XC2Dv0 >>584 > 不足箇所は最近だとフレームワークが補完してくれている では今回の connection_close なり write_close が出来るフレームワークを紹介してくれ。 無いだろ。 PHPで出来ないことは、PHPで記述したフレームワークでも出来るはずがないからだ。 (とJS同様に思ってるんだが、PHPの場合は例えばC++で記述されててPHPをDSLとして採用してるだけ、 みたいな実行環境形のフレームワークがあるのか? それがapacheだnginxだ、みたいな状況で
はあるが) > サーバサイド言語として、phpが必要ないって言っている人がいる? 居ない。 しかし、PHPは「素晴らしいプログラミング言語だ」と言ってる奴も居ない。 それは君も知ってるとおり、色々グダグダ過ぎるからだ。今回も然り。 他言語だと楽に美しく実装出来る事が、出来ない。いちいちストレスだ。 (とはいえRust/Go推しの連中もどうかしてると思うが) > 普通に用途が合えばphp選択するのがエンジニアだと思うけど? それはその通り。だから俺も今回はPHPを選択している。 ただこれは「プログラミング言語として」ではなく、「実行環
境含めて」だ。 今回は「無料レンタルサーバーでも動く」事も重要な為、今のところPHP以外に選択肢がない。 技術的には、サーバーレス+Nodeが一番フィットし、つまりherokuなのだが、 あれは無料だが海外鯖なので見送りにしてる。 サービス提供先は主に国内なのにいちいち海外鯖では無駄に遅くなるから。 そしてNodeの無料鯖が国内にも広まるのを待っていたのだが、これは今のところ全然なさそうだ。 とかやってるうちに他状況も整ってきたから、しょうがないからPHPで本格的に書くか、と諦めたわけだ。 あと、Nodeが数倍速いのも事実なのだが、どう
せ鯖を借りる側からすれば、 値段当たりの処理能力なら実はVPS+Nodeもレンタルサーバー+PHPも大差ないのかも、という気もしてきてる。 この辺も諦めにつながってる。とはいえ、どのみちNodeでも書く羽目にはなりそうなのだが。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/588
589: デフォルトの名無しさん (ワッチョイ 56bb-ds/h) [sage] 2021/08/05(木) 09:27:08.25 ID:Sb1zsMiv0 >>588 お前のやりたいことは、Jobのキュー登録だろ 普通にあるわ なんで、connection_close なり write_close にこだわらないといけないんだ? http://mevius.5ch.net/test/read.cgi/tech/1619667579/589
590: デフォルトの名無しさん (ワッチョイ bd7b-LMHu) [sage] 2021/08/05(木) 09:33:30.26 ID:F8+XC2Dv0 >>586 それは動かないだろ。 本処理で既にheaderとbodyは出力してる。 だからその後に header('Location')はアウトだ。 そして仮に動いたとしても、いちいちLocationで飛ばすってのも余計におかしい。 今現在の、結果的にブラウザが反応しないかも、その場合は通常より倍の時間がかかります、の方がまだマシだ。 ここらへんの、ちゃんとした解がないから余計なことで遠回りにやる、ってのもPHP界隈が嫌いな理由だ。 そういうのは初心者から中
級者にクラスアップしてきた連中が俺ツエー的にやりたがるのだけど、 そういうのが多すぎて、PHP界隈はウザイ。 ただ逆に言えば、そういうことをしたいレベルの奴にとっては「俺カッケー」が出来るから、大受けする。 だからPHPを嫌いな人は多いが、廃れることもないだろうね。新規参入者はいくらでもいるから。 ある意味初心者ホイホイな面はある。 (ただしプログラマになる為の教育としてはかなり最悪だが) http://mevius.5ch.net/test/read.cgi/tech/1619667579/590
591: デフォルトの名無しさん (ワッチョイ bd7b-LMHu) [sage] 2021/08/05(木) 09:37:34.01 ID:F8+XC2Dv0 >>589 あるならそれを教えてくれ。PHP.net上のurlだけでいいから。 jobで出てくるのは The GearmanClient class だけだが、さらっと見た限りなんか違うっぽいし。 というかね、PHP.netは本当に出来がいい。 あれだけは他言語も見習うべきだよ。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/591
592: デフォルトの名無しさん (ワッチョイ 56bb-ds/h) [sage] 2021/08/05(木) 09:41:54.34 ID:Sb1zsMiv0 >>591 ぐぐればLaravelが出てくるだろ 素のphpでやりたきゃ https://medaka.5ch.net/test/read.cgi/php/1557652864/ なら別海が出てくるかもな http://mevius.5ch.net/test/read.cgi/tech/1619667579/592
593: デフォルトの名無しさん (ワッチョイ bd7b-LMHu) [sage] 2021/08/05(木) 10:14:26.57 ID:F8+XC2Dv0 >>592 LaravelはPHPで書かれてるのだから、素のPHPで出来ないことが出来るはずがないだろ。 と思ってるのだが、この認識が間違ってるのか? まあ、導入する予定はないが、見てみるよ。 Webプログラミング板のスレはさらっと読んでみたが、ぶっちゃけここと大差ないような。 まあ、ここで一通り終了したら向こうでも聞いてみるかも。 なお、俺はプログラミングの初心者ではないが、PHPに関しては初心者だ。 一通りも知らないからPHP.netをい
ちいち引きながら書いてる。 それでいちいち、「他言語ならこうだけど、PHPならどう書くの?」になるわけ。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/593
594: デフォルトの名無しさん (ワッチョイ d108-1vA1) [sage] 2021/08/05(木) 10:15:03.38 ID:jTl1oJKL0 要は「非同期処理すればいいだけ」の話なのだが、ID:F8+XC2Dv0 はLinuxができない人? だってさ、Linuxではコマンドの最後に「&」をつけるとバックグランドジョブになるのだから、 「言語を問わず」 "コマンド > /dev/null &" ってすればいいかな?って発想になるもん で、開発環境はDockerやVagrantで作ればいい PHPなんて良くも悪くも適当に書けば適当に動いてくれる言語なのだから、別にそれでいいじゃんw PHPがどういう
思想から生まれた言語なのかは以下のインタービュー記事を読むといい https://gihyo.jp/news/interview/2010/rasmus 例えばNode.jsはシングルスレッド・シングルプロセスなのだから、入出力関連の処理を非同期で行ったりと設計思想からPHPとはまるで違う 1つの言語に固執せず適材適所で言語を使い分けるのがプログラマのなのだから、お前みたいな書き方をしてたら「だったらPHP以外の言語でやれば?」って思われるだけだw ちなみにPHP8.1以降では「Fibers」が実装されて、非同期処理を綺麗に書けるようにもなるんだけどね https://php.watch/versio
ns/8.1/fibers PHPってここら辺がすごい柔軟 良いと思った仕様はどんどん取り入れる とにかく、グダグダグダグダとうるせぇんだよお前はw 自分の頭が固いだけなのに仕事ができると「勘違いしている自称上級プログラマ様(笑)」ってのが、現場で一番タチが悪い人間なのは間違いない 固くするのはチンコだけにしておこうな? http://mevius.5ch.net/test/read.cgi/tech/1619667579/594
595: デフォルトの名無しさん (ワッチョイ bd7b-LMHu) [sage] 2021/08/05(木) 10:21:45.83 ID:F8+XC2Dv0 >>592 あ、すまん。訂正。 laravelをさらっと見たが、dockerで導入してるところからして、俺 が想定していたJS的なフレームワークとは違い、これは実行環境形のフレームワークだな。 Job管理もあるのだろう。これはこれから読む。(とはいえ時間はかかるが) http://mevius.5ch.net/test/read.cgi/tech/1619667579/595
596: デフォルトの名無しさん (ワッチョイ d108-1vA1) [sage] 2021/08/05(木) 10:24:19.91 ID:jTl1oJKL0 Rubyガイジといい、なんでガイジ(正確にはガイオヤジかw)ばかり湧くんだろうなぁ 夏だからかw http://mevius.5ch.net/test/read.cgi/tech/1619667579/596
597: デフォルトの名無しさん (ワッチョイ bd7b-LMHu) [sage] 2021/08/05(木) 10:24:44.74 ID:F8+XC2Dv0 >>594 > 「言語を問わず」 "コマンド > /dev/null &" ってすればいいかな?って発想になるもん 理解してないのお前だ。俺は「言語を問わず」ではなく、「実行環境依存」なのを問題視してる。 まあお前レベルの奴がグダグダ言ってくるところがPHP界隈の嫌いなところだよマジで。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/597
598: デフォルトの名無しさん (ワッチョイ 3a7c-Gkqf) [sage] 2021/08/05(木) 10:33:36.93 ID:5AKWeG2e0 このガイジLaravelスレでバカにされているガイジだろw 無能で仕事もしたことが無いレベルw http://mevius.5ch.net/test/read.cgi/tech/1619667579/598
599: デフォルトの名無しさん (ワッチョイ d108-1vA1) [sage] 2021/08/05(木) 10:49:57.76 ID:jTl1oJKL0 >>597 だから「開発環境はDockerやVagrantで作ればいい」と書いた とにかく質問は解決しただろ? だったらPHPスレに居座る必要もない WPガイジ(こいつも相当頭が固いw)といい、俺はサッサと質問を解決しガイジにお帰り頂きたいだけだ 繰り返すが固いのはチンコだけにしとけw それといももうチンコも勃たない歳か?w http://mevius.5ch.net/test/read.cgi/tech/1619667579/599
600: デフォルトの名無しさん (ワッチョイ bd7b-LMHu) [sage] 2021/08/05(木) 10:51:05.04 ID:F8+XC2Dv0 >>594 ラスマスの記事を読んだ。まあ想定どおり。 これはWeb上のオープンソース開発、つまりJSやRustも同じ事。 それらに比べてPHPはポンコツ過ぎ。 ちなみにfiberが欲しいわけではない。それも「歩いて3秒の場所に自転車で行く」に近い。 俺がやりたいのは、 fclose(/dev/stdout) だよ。 ただまあ、PHPがラスマスの言うとおり勝手に開発された機能の団子なのなら、 俺が勝手にCのコード書いて送れば採用されるのかな? 精々10行程度で実装出
来るから送ってみてもいいんだけどさ。 あとそれ、「PHPは柔軟でスゴイ!」ってのも、 最近よくいる「俺が使ってる言語スゲー=俺スゲー」系の馬鹿だから止めとけ。 他言語で既に使えてる便利機能が今更採用されたところでスゲーと思えるのは明らかに信者でしかない。 第三者なら「ようやくかよ」でしかない。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/600
601: デフォルトの名無しさん (ワッチョイ 5d01-RnN5) [sage] 2021/08/05(木) 10:57:59.07 ID:kPeKr//s0 ID:F8+XC2Dv0 質問に非同期って単語が出てない時点でお察しですな PHPへの噛みつき方もテンプレ過ぎて10年前にタイムスリップしたかと思ったよ 加齢臭のするオッサンだろうな http://mevius.5ch.net/test/read.cgi/tech/1619667579/601
602: デフォルトの名無しさん (ワッチョイ bd7b-LMHu) [sage] 2021/08/05(木) 11:01:32.69 ID:F8+XC2Dv0 >>599 > だから「開発環境はDockerやVagrantで作ればいい」と書いた だからその解も本来は間違ってるんだよ。それは、 実行環境依存のコードしか書けないから、それぞれの実行環境を毎回用意してそこで開発しろ なわけだろ。それはJavaが目指した「Write once, run anywhere」でも全然無いだろ。 まあ実際はともかく、そもそもプログラミング言語はOS上のレイヤだけで動いているのなら、こうあるべきなんだよ。 そしてJSとか他言語はそう
なってる。 PHPはその努力もしてないから駄目なんだよ。 その、「間違った解を正解として誇らしげにドヤる」のも、 典型的な「初心者から中級者にアップしたての馬鹿」がやることで、おまえはまさにそれだよ。 実際PHP界隈はそういうのが多数派で、それが問題視されることはないのだろうけど、それ自体が問題だよ。 それでは生産性がまるで上がらない。まあこれも理解出来ないのだろうけどさ。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/602
603: デフォルトの名無しさん (スップ Sd9a-0pp8) [sage] 2021/08/05(木) 11:04:37.37 ID:/R94gyIjd >>590 あたしは575の提案をして、環境依存に難色を示されたので、代替提案をしただけなのに、おかしいだろとか、ダメだとか、あっちのほうがマシだとか、なんでそんなに上からなんですか笑 既にbody出力済みという前提も無かったし。 なるほど、でもできればリダイレクトはしたくないです。とだけ返事すればいいものを。 リダイレクトNGなら、更に別の提案もあるんだけど、萎えましたです。 http://mevius.5ch.net/test/read.cgi/tech/16196
67579/603
604: デフォルトの名無しさん (ワッチョイ d108-1vA1) [sage] 2021/08/05(木) 11:05:12.89 ID:jTl1oJKL0 俺、PHPがすげぇなんて一言も書いてないけどw だからこそ「PHPなんて良くも悪くも適当に書けば適当に動いてくれる言語」だと書いたし ラスマスのインタービュー記事を紹介したのだが、このガイオヤジはドヤ顔で何を勘違いしてるのだろうw 例えば>>579で > 見た目同期コマンドだが、出力を捨てれば確かにバックグランウンドで動くらしい なーんて書いちゃってるから…ね 「&」ついてるのに、これのどこか同期コマンドなんだというツッ
コミw 質問は解決してるんだからもう用はないだろ? あとはチラシの裏にでも書いとけw http://mevius.5ch.net/test/read.cgi/tech/1619667579/604
605: デフォルトの名無しさん (ワッチョイ d108-1vA1) [sage] 2021/08/05(木) 11:07:21.49 ID:jTl1oJKL0 >>601 このガイオヤジ、1人で勘違いして「信者」なんて言っちゃってるしね この手のヤバい奴は昔から居たから、PHP長くやってると慣れるよねw http://mevius.5ch.net/test/read.cgi/tech/1619667579/605
606: デフォルトの名無しさん (ワッチョイ bd7b-LMHu) [sage] 2021/08/05(木) 11:09:50.52 ID:F8+XC2Dv0 >>601 非同期知ってる俺カッケー、か。 俺がやりたいのは非同期ではないんだよ。 ここら辺なんだよ、PHPerは、(JSerもだからWeb系全般だと思うが) 本人が実力を過大評価しすぎてていちいちウザイ。 今回は同期の fclose(/dev/stdout) がベストで、この単純なことが出来ないのは奇妙だと思って聞いてる。 他の言語/実行環境なら最初に用意される物であって、存在しないのはほぼありえない。 だから俺の勘違いか見落としだと思って聞いてるわ
けだ。 そしてこんな基本的な物がないのに非同期とかfiberとか、整備の順番を完全に間違ってるんだよ。 とはいえlaravelはどうやら俺の想定していたものとは違うので、そこにあることには期待している。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/606
607: デフォルトの名無しさん (ワッチョイ bd7b-LMHu) [sage] 2021/08/05(木) 11:14:45.50 ID:F8+XC2Dv0 >>603 > 既にbody出力済みという前提も無かったし。 いやそれは普通に読めば分かるだろ。 むしろ、接続を切ろうとしてるのに、なんでその後に何か出せると思ったの? もしかして、本処理ではheaderだけしか出力してないと思った? それはレアケース(常に403とか?)であって、その仮定の方が無理あるだろ。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/607
608: デフォルトの名無しさん (ワッチョイ 5d01-RnN5) [sage] 2021/08/05(木) 11:18:11.81 ID:kPeKr//s0 簡単な非同期処理で解決するのになに言ってるのこの人 顔真っ赤すぎて全レスし始めたし今日1日で何レスするのか見ものだな PHPに親でも殺されたのかしら? http://mevius.5ch.net/test/read.cgi/tech/1619667579/608
609: デフォルトの名無しさん (ワッチョイ 4ee6-Zn8Z) [sage] 2021/08/05(木) 11:23:41.31 ID:xD0lMLd30 スレが伸びてると思ったら大物が登場してるな 面白いから魚拓取って他にも晒しとくわ http://mevius.5ch.net/test/read.cgi/tech/1619667579/609
610: デフォルトの名無しさん (ワッチョイ bd7b-LMHu) [sage] 2021/08/05(木) 11:25:02.26 ID:F8+XC2Dv0 >>604 exec自体は同期コマンドなんだよ。 そしてその書き方自体も他言語が出来るプログラマにとっては気に入らない。 exec("cmd"); // 同期 exec("cmd > /dev/null &"); // PHPではこれで非同期、しかし書き方がイマイチ exec("cmd") > /dev/null; // これならまだマシ exec_async("cmd"); // 本来はこうあるべき まあここら辺もPHPが嫌われる理由だよ。他言語と揃ってないからいちいち文
法で躓く。 だから他言語で慣らした連中に取っては無駄に参入障壁となっていて、 結果的にPHPはPHP育ちの初心者パラダイスになってる。 そりゃ居心地はいいんだろうけど、良いコードに遭遇出来ないのは上達の妨げにしかならないことに本人達も気づけない。 なんだかね。 実際お前ら、上の4つ、何が問題か分からないだろ。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/610
611: デフォルトの名無しさん (ワッチョイ bd7b-LMHu) [sage] 2021/08/05(木) 11:26:44.63 ID:F8+XC2Dv0 >>608-609 > 簡単な非同期処理で解決するのになに言ってるのこの人 そう思えちゃうところがPHPerだよ。 まあ他のプログラミングが出来る連中にも聞いてみるんだね。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/611
612: デフォルトの名無しさん (ワッチョイ 5d01-d0wC) [sage] 2021/08/05(木) 11:31:07.06 ID:xWv0yV5l0 自分も、そこまでLinuxには詳しくないが、 今時、2〜3台もパソコンがあれば、社内Lanで繋ぎませんか? http://mevius.5ch.net/test/read.cgi/tech/1619667579/612
613: デフォルトの名無しさん (スップ Sd9a-0pp8) [sage] 2021/08/05(木) 11:34:43.32 ID:Lk6xwBBud >>607 いや、あなたの常識なんて知らないわよ笑 普通にアクセスされただけで(またはgetパラメーター付きとか)処理が走って、本処理が終わるまで何も出力しないように書き直して工夫することだってできる可能性もあるわけだし。 (もうここは掘り下げなくていいです) てか、あなたが返事すべきはそこじゃないんだけど〜 http://mevius.5ch.net/test/read.cgi/tech/1619667579/613
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 389 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.020s