【PHP】下らねぇ質問はここに書き込みやがれ 11

■ このスレッドは過去ログ倉庫に格納されています
2020/06/05(金) 14:25:26.87ID:RQhNy1WS0
PHPに関する質問スレです

前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 10
http://mevius.5ch.net/test/read.cgi/tech/1543392526/

次スレは>>980以降
本文の1行目に以下を追加すること
!extend:on:vvvvv:1000:512
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
414デフォルトの名無しさん (ワッチョイ 29f1-Xsyu)
垢版 |
2020/08/28(金) 22:02:43.20ID:V3zcyyrc0
>>413
今からphpの勉強始めるならxampよりvagrantの方がいいですよ
2020/08/28(金) 22:56:19.70ID:Rmnqhg9P0
ローカル検証環境を構築するという事で話しています

virtual box+vagrantはLaravel Homesteadだと簡単に構築可能
https://readouble.com/laravel/6.x/ja/homestead.html
(別にLaravelを使わない場合でもPHPは勿論composerやweb開発に必要なものは大抵入ってる)
導入の仕方が分からないような人は大人しくxamppにしておくしかないかも

簡単なものならブラウザで試せるPHP環境で十分かも
https://paiza.io/ja/projects/new
など。コード共有や公開も出来るので5chでコードを晒すには便利かも
2020/08/28(金) 23:28:55.23ID:4PUroIuTa
ありがとうございます
2020/08/29(土) 00:02:16.64ID:upBpr3wB0
laravelで開発したアプリをxサーバーでデプロイしたいんですが
ssh接続、mysqlへの接続はできてマイグレーションはできたんですがURLにアクセスしても表示されません。
どこが問題でしょうか。お助け願います
2020/08/29(土) 02:50:17.13ID:RuNAK7S90
今時、vagrantもないな。Dockerだろ。
419デフォルトの名無しさん (ワッチョイ 86c7-Xbxe)
垢版 |
2020/08/29(土) 05:32:37.23ID:VfjHQQzT0
なぜrssのタグにchannel->title といった形でアクセスできるんでしょうか
これらのタグはクラスのプロパティとは違うはずですが、アロー演算子でアクセス出来ます
2020/08/29(土) 12:13:22.95ID:RuNAK7S90
>>419
phpというよりオブジェクト指向そのものを勉強してこい
421デフォルトの名無しさん (ワッチョイ 86c7-Xbxe)
垢版 |
2020/08/29(土) 13:03:42.28ID:VfjHQQzT0
階層になってるのはわかりますけど、titleはchannelのプロパティではないですよね
xmlは下位階層に行くとプロパティになるんでしょうか
2020/08/29(土) 13:59:37.28ID:T8XWrw+a0
print_r()などで中身を見れば分る筈ですが、子階層もSimpleXMLElementなので
これらオブジェクトはPHPではプロパティを自由に追加出来る為、パース時点で
XMLと同じ階層のオブジェクトが構築されているので->でアクセスできる訳です

中身がarrayなら勿論こういうことは出来ません
423デフォルトの名無しさん (ワッチョイ 86c7-Xbxe)
垢版 |
2020/08/29(土) 18:12:43.20ID:VfjHQQzT0
なるほど、自動で追加してくれているんですね。
ちなみにxml自体のことはオブジェクトとは言わないのですか?
2020/08/29(土) 20:51:39.40ID:2f/XylsB0
Vagrant, Chef は、Ruby 製

Docker, Kubernetes
AWS, Heroku, Cloud9
425デフォルトの名無しさん (ワッチョイ 86c7-Xbxe)
垢版 |
2020/08/29(土) 22:20:33.92ID:VfjHQQzT0
curlでrssを取りたいのですが、
29行目の
$feed->title
の部分ですが、titleはオブジェクトじゃないと怒られます
どう設定しなおすといいでしょうか?

https://qiita.com/tabo_purify/items/4857007056a9cd056dec
https://ideone.com/30TKXJ
2020/08/30(日) 00:17:32.38ID:5tILaoCa0
>$feed->titleの部分ですが、titleはオブジェクトじゃないと怒られます

$feedをprint_rまたはvar_dumpなどで確認してますか?
2020/08/30(日) 00:30:41.31ID:hbubYsh90
>>425
まず、22行目のコメントを外して、ちゃんと取得しているか確認した方がよさそう
2020/08/30(日) 00:50:15.98ID:kJ0LDF290
Ruby で、RSS ライブラリを使って、yahoo のRSS を取得してみた

Rubyでは、RSS 0.9x/1.0/2.0, Atom 1.0 をサポートしている。
(RSS 0.90 はサポートしていない)

URL か、RSSのバージョンや、XML の構造が分かれば、誰かが答えてくれるかも

require 'open-uri'
require 'rss'

url = "https://news.yahoo.co.jp/rss/topics/entertainment.xml";

# false は、バリデーション無しでパースする
rss = RSS::Parser.parse( url, false )

rss.items.each do |item|
puts item.title, item.description, "\n"
end

出力
ポルノ岡野昭仁 虫垂炎で入院
ポルノグラフィティの岡野昭仁が虫垂炎と診断され、〜

吉岡秀隆 新型コロナに感染
俳優の吉岡秀隆(50)が29日、〜
429デフォルトの名無しさん (ワッチョイ 86c7-Xbxe)
垢版 |
2020/08/30(日) 06:08:16.62ID:HkYyqvgP0
>>427
https://ideone.com/TJRTHX
22行目の結果です
取得自体は出来ているようです
2020/08/30(日) 11:39:40.47ID:93wcm6ua0
そのrssはchannelの中にitem無いでしょ
28行目は$entry = $feed->item[$i];
質問とソースもあってないしもうちょっと落ち着け
2020/08/30(日) 20:58:28.79ID:ncp2gOoEa
まったくのプログラム初心者がウィザードリィみたいなゲームをアンドロイドで動かしたい場合はどのくらいの勉強時間が必要ですか。
一説には200~300時間はかかると聞きましたが、資格に例えるとどれくらいの難易度かも教えてくれるとイメージしやすいので助かります。
432デフォルトの名無しさん (ワッチョイ 86c7-Xbxe)
垢版 |
2020/08/30(日) 21:09:28.82ID:HkYyqvgP0
>>430
どうも。
$feedの中身は何で調べるのがいいんでしょうか?
print_rとvar_dampがありますが、xmlの構造を表示させたいです。

rss2の構造としてはchannelの中にitemがあるということだと思うので、
指摘の部分を直したら動きました(´・ω・`)
433デフォルトの名無しさん (ワッチョイ 4d01-yRqa)
垢版 |
2020/08/30(日) 21:33:13.62ID:Xau2p69p0
週休3日制をさらに進めた週休4日制
https://www.k-society.com/recruit/why-four-days-off-a-week/
採用情報(週休3日制を超えた週休4日制の正社員求人 | 副業OK
https://www.k-society.com/recruit/
2020年4月より「週休3日制」を導入。テックカンパニー化に向け、好循環を生み出すエンジニアリング組織へ
https://prtimes.jp/main/html/rd/p/000000096.000016431.html
新潟から週2回東京に出勤、サイボウズの複業採用社員に聞く複業ライフのリアル。
https://www.businessinsider.jp/post-166126
兼業でフリーライター、サイボウズ社員・明石悠佳に学ぶパラレルワーク術
https://www.wwdjapan.com/articles/752575
「複業を解禁しなければ人も企業も成長しない」複業全面OKのサイボウズ社長と実践社員の本音対談
https://www.businessinsider.jp/post-33893
育休は最長6年、副業もOK! サイボウズはなぜ「100人100通りの人事制度」を作ったのか
https://logmi.jp/business/articles/50252
超異例「週休4日制」の導入をSMBC日興証券社長が決めた理由
https://diamond.jp/articles/-/223832
2020/08/31(月) 04:45:53.44ID:NYj/uHL9r
>>431
ゲームでもプログラミングでも勉強する奴は時間換算なんかしねえから
435デフォルトの名無しさん (ブーイモ MMf6-Xsyu)
垢版 |
2020/08/31(月) 09:53:15.92ID:O1YDRZPEM
print
echo

どっち使うのがいいのですか?
436デフォルトの名無しさん (ブーイモ MMf6-Xsyu)
垢版 |
2020/08/31(月) 10:03:15.89ID:O1YDRZPEM
print 'うんこ';
echo 'うんこ';

print ('うんこ');
echo ('うんこ');

使い分ける必要ありますか?
2020/08/31(月) 10:38:47.86ID:7ZWcUsrI0
>>431
板違い

ゲーム製作技術板の方へ、書き込んでください!
2020/08/31(月) 11:12:17.59ID:VqCNyDXi0
>>435
echoの方が早い、文字数少ない
関数ではないのでカッコはいらない
439デフォルトの名無しさん (ブーイモ MMf6-Xsyu)
垢版 |
2020/08/31(月) 12:15:15.28ID:O1YDRZPEM
>>438
ありがとうざます
じゃecho使った方がいいということですか
440デフォルトの名無しさん (ブーイモ MMf6-Xsyu)
垢版 |
2020/08/31(月) 12:15:54.81ID:O1YDRZPEM
sprintfの
sはどういう意味です?何の略?
fはformatだと思うけど
2020/08/31(月) 12:18:05.00ID:v1ptRDD00
string
442デフォルトの名無しさん (ブーイモ MMf6-Xsyu)
垢版 |
2020/08/31(月) 12:49:12.94ID:O1YDRZPEM
>>441
よっしゃ、ありがとう
2020/08/31(月) 21:15:46.11ID:hW4JWryA0
>>431
スレ違いではありますが、androidでということで
実装方法として、androidネイティブな機能でグラフィックスを描画するのか
webviewを貼り付けてwebアプリで表現などがあり
PHPが関係するとしたらwebviewでということになりますが、これにしても
結局はゲームだとネットゲームならAPIなどでサーバーサイドが重要ですが
スタンドアローンなゲームならPHPよりフロントエンドの技術(javascriptで処理)がメインに
なりそうですし・・・
センスさえあれば、1か月ぐらいで作れると思いますけど、誰からも助言も無く
更に完全な初心者だと1年経っても作れないかと思います
そもそも、3Dダンジョンのワイヤーフレームの表現だけでも何の知識も無いと
作れ無さそうな気がしますね
2020/09/01(火) 01:27:26.29ID:0wb8S5nmM
>>431
PHPでやるならノベルゲームにしとき
2020/09/01(火) 10:32:37.79ID:x63jWwwu0
Wizardry は、奥行きがあるだろ。
2D だけど、奥の方が狭く見える、擬似的な3D 表現。
これは、初心者には難しい

初心者は、まず、Tiled Map Editor で、
ドラクエ風の普通の2D ゲームから、始めた方がよい

マス目ごとに、イベントを考えたり、ゲームデザインを考えるのが大変

詳しくは、ゲーム製作技術板の方で、聞いてください!
446デフォルトの名無しさん (ラクッペペ MM66-e5MG)
垢版 |
2020/09/01(火) 11:07:37.57ID:gxFObUsRM
奥から壁を置いていくだけ
簡単だ
2020/09/01(火) 18:32:35.79ID:pGsAryYIr
ウィザードリィ知ってるってことら45歳以上のおっさんジジイだよな
448デフォルトの名無しさん (ワッチョイ ae02-PKC+)
垢版 |
2020/09/01(火) 19:23:09.84ID:i86JiUYA0
https://www.youtube.com/watch?v=U0qMcwWhZeU

こちらの動画を参考にコードを書いたのですがうまくいきませんhttps://jsfiddle.net/vintagedopeme0522/vacq0wn5/ どこか間違っているのでしょうか?
2020/09/01(火) 19:42:29.15ID:X/AXeJa20
>>448
そもそもこの手のクラウドでこの書き方でPHPは動かないでしょうし
コードも無茶苦茶というかglob()みたいな関数はサーバー側のファイルシステムから
ファイルを探す関数であるので、どっちにしても指定場所にファイルが無いと
コードが正しくても何も出ません
450デフォルトの名無しさん (ワッチョイ ae02-PKC+)
垢版 |
2020/09/01(火) 19:46:48.75ID:i86JiUYA0
https://qiita.com/katsukii/items/ec816b23f68b6dfa0f87
エラー原因を考えたのですが、dir以下のファイルを全て取得してくれる。ファイルがひとつもない場合は空の配列が返ってくる。
画像ファイルをローカルディスクに置いているのが原因でしょうか?
<img src"<>" alt"<>">←画像が空でエラー? 
451デフォルトの名無しさん (ワッチョイ ae02-PKC+)
垢版 |
2020/09/01(火) 19:59:09.58ID:i86JiUYA0
>>449
ありがとうございます。構文チェックは一応通したのですが、間違ってるのでしょうか?
452デフォルトの名無しさん (ワッチョイ 827c-tAYM)
垢版 |
2020/09/01(火) 22:21:57.04ID:dJFtqmh60
php7てsqlite組み込まれてるの?
2020/09/02(水) 12:29:18.50ID:U40YU3HI0
Ruby でも、空フォルダを、glob したら、空配列が返ってくる

glob_pattern = "c/users/owner/documents/test/*"

p Dir.glob( glob_pattern ) #=> [ ] 空配列
454デフォルトの名無しさん (ワッチョイ 7f02-zu2G)
垢版 |
2020/09/02(水) 13:48:31.22ID:1p1FdXke0
ギャラリーにスライドアクションを追加したものを自作したいのですがJavaのみで可能でしょうか?
無料で自作したいので
2020/09/02(水) 14:17:50.47ID:U40YU3HI0
Windows 10, WSL, Ubuntu 18.04 で、Ruby on Rails のプロジェクトでは、
apt で、libsqlite3-dev, sqlite3 を入れた。
バージョンは、3.22.0

sudo apt-get update
sudo apt-get install -y libsqlite3-dev sqlite3

sqlite3 -version
3.22.0 2018-01-22 18:45:57

インストール済みのバージョンを表示する
apt list --installed sqlite3 libsqlite3-dev
456デフォルトの名無しさん (ワッチョイ 7f02-hVhX)
垢版 |
2020/09/02(水) 20:18:28.62ID:1p1FdXke0
https://codepen.io/rohanrit/pen/QPPbzx
ギャラリー画像にスライダーをつけるコンテンツを作りたいのですが、画像クリック後に自動スライダーを設置する場合
どのような要素が必要なのでしょうか? 
2020/09/02(水) 20:48:41.76ID:U40YU3HI0
自作スライダーは、かなり難しい。
jQuery で自作する本を持ってるけど、20〜30ページはある

そういうモジュールを探した方がよい
458デフォルトの名無しさん (ワッチョイ bfc7-JFwp)
垢版 |
2020/09/02(水) 20:58:27.80ID:Q8JymlDa0
simplexml_load_stringってなんでしょうか?
curl_exceでrssを取ってきました
これはstringで、simplexml_load_stringを使うとobject型になります
なぜcurl_exceのままだと、rssの整形などに向かないのでしょうか?
459デフォルトの名無しさん (ワッチョイ 7f02-hVhX)
垢版 |
2020/09/02(水) 22:01:38.91ID:1p1FdXke0
>>457
やっぱり難しいんですかね… codepenでもなかなか作ってる方がおられませんでしたので。
ギャラリーをjavaで作ってcssのみでスライダーを作れば可能な気がしますが…
2020/09/03(木) 08:44:28.32ID:A5QSD7iW0
javaって言うな。JavaScriptだろ
461デフォルトの名無しさん (ワッチョイ 87f1-j4NM)
垢版 |
2020/09/03(木) 13:01:28.60ID:t+42bWz40
https://www.tokyo-sports.co.jp/wp-login.php
どうやってログインしますか?
462デフォルトの名無しさん (ワッチョイ bfc7-JFwp)
垢版 |
2020/09/03(木) 16:15:45.47ID:a0nrio530
$feed = simplexml_load_string($str)って何をしているんでしょうか?
rssをcurl_exceで取ってきたファイルはこれです
これが$strです
https://ideone.com/MgGKJa
xmlとhtmlが混ざったような内容です
463デフォルトの名無しさん (ワッチョイ 7f02-hVhX)
垢版 |
2020/09/03(木) 17:35:21.91ID:iWURdNad0
>>460
すみません
2020/09/04(金) 00:07:28.09ID:Wl7qFIBb0
>>428
に書いておいた

>URL か、RSSのバージョンや、XML の構造が分かれば、誰かが答えてくれるかも
例えば、428 のyahoo なら、rss version="2.0"

>>462
のような、HTML, XML が混じったようなものには、ならない
465デフォルトの名無しさん (ワッチョイ bfc7-JFwp)
垢版 |
2020/09/04(金) 05:24:07.16ID:cc1Vcc3X0
いえ、phpのことです
2020/09/04(金) 17:23:37.92ID:H4/C6VWc0
return $instance ?? $instance = new obj();
return $instance ??= new obj();

上記の二つはやってる事同じですか?
2020/09/04(金) 17:39:42.68ID:J2wZN3ap0
>>452
PHP5から組み込まれてるよw
MySQLみたいにサーバ立ち上げなくて良いし
ファイル作らずにメモリ上だけで処理できたりもするし
初学者の学習にはとても便利
2020/09/04(金) 17:49:13.52ID:J2wZN3ap0
>>458
>>393を読んでコピペで良いから3つそれぞれのコードを実行しよう

>>410もそうだが、頭でウジウジ考えてる暇があったら、コードを書いて実行して結果を見ろってw
それがPHPみたいなスクリプト言語の良さなんだから
あとPHPマニュアルを読もう
PHPマニュアルが理解できないなら諦めた方がいい

>>432
別にどっちでも良いが、データ構造を見るだけならprint_r()の方が視認はしやすい
データの型まで正確に見たい時はvar_dump()を使う
2020/09/04(金) 18:01:47.07ID:J2wZN3ap0
>>466
同じ

↓は全部同じ


// 普通にif文
if ($instance) {
return $instance;
} else {
return $instance = new obj();
}

// 三項演算子
return ($instance) ? $instance : $instance = new obj();

// Null合体演算子(PHP7.0〜)
return $instance ?? $instance = new obj();

// Null合体代入演算子(PHP7.4〜)
return $instance ??= new obj();
2020/09/04(金) 18:11:47.03ID:H4/C6VWc0
>>469
ありがとうございます
2020/09/04(金) 18:13:12.03ID:tS8Mz4CH0
正直代入とreturnを同一行で書くのは辞めた方がいい(分かりにくい)
分かりやすく書くならif文は
if (is_null($instance)) {
$instance = new obj();
}
return $instance;
2020/09/04(金) 18:30:36.52ID:H4/C6VWc0
>>471
アドバイスありがとうございます
例示したコードがアレなだけで、実際は使わないと思います
473デフォルトの名無しさん (ワッチョイ bfc7-JFwp)
垢版 |
2020/09/04(金) 22:14:28.40ID:cc1Vcc3X0
notepad++でphpのデバッグをするにはどうしたらいいんでしょうか
dbgpというプラグインがありますが、他に必要なものはありますか?
2020/09/04(金) 22:54:21.85ID:tS8Mz4CH0
>>473
素直にvisual studio codeに拡張機能のPHP Debugを入れ
PHP側はxdebugを導入すれば可能にはなる
以下のサイトに割と詳しく説明してあるけど、これで分からないなら多分無理かも
(ここの例はwindowsにxamppを入れていてその環境にxdebugを導入する感じだが
サーバー側はlinuxでもやることは同じ)
https://qiita.com/deux222/items/af75319ece05653c4bb5
475デフォルトの名無しさん (ワッチョイ bfc7-JFwp)
垢版 |
2020/09/05(土) 05:33:43.93ID:39rD+iX+0
>>474
vscode重いので、、、
476デフォルトの名無しさん (ワッチョイ bfc7-JFwp)
垢版 |
2020/09/05(土) 05:34:21.05ID:39rD+iX+0
というかphp debug入れなくてもlinterは動いているようですよ
vscodeの場合
2020/09/05(土) 13:50:29.18ID:dAk5cbFF0
>>428
のyahoo の、rss version="2.0" のXML と、

>>462
のような、HTML, XML が混じったようなものは、明らかに異なる

つまり、君が間違っていることは明らか。
だから、そのやり方を捨てればよい

そもそも、数学の証明のように、考える要素がない

文系の受験・資格と同じ。
応用問題を除けば、知ってるかどうかだけ。
つまり、検索して答えを探せるかどうかだけ

Ruby が文系ばかりなのは、考える要素がなくて、正解を検索して探すだけだから。
これがPython だったら大変。
数学的に正しいかどうか、考えないといけない
2020/09/05(土) 14:43:59.10ID:tqha0WnR0
>>462 は、>>425 のプログラムの途中でrss出力したから、<head>やらなんやらが最初にあるだけだろ
てか、>>429 でちゃんと取得できるしな

Rubyおじさん、ここ張り付いてるならちゃんと順を追って見てやれよw
2020/09/05(土) 17:05:06.99ID:0lqzi+R60
>>477
なんだ、お前は考える能力がなく検索するしかできないというのは自覚してるのか。それとも他人事だとでも思ってるのか。
お前はその検索能力すら低くて、いつも的外れなことを言う。さらに自分に都合の悪いことは見えない聞こえないというメンタル。
周りが迷惑するだけだから、他人の話に割って入るな。
2020/09/06(日) 03:27:54.27ID:acovuGVz0
Smartyってもう古い・・・?
いまさらわざわざ覚える必要ない?
2020/09/06(日) 07:31:33.56ID:2TkLSo7O0
>>490
Smarty更新止まってるわけじゃないから色々良くはなってるんだろうけど、Blade学んでおいたほうが後にLaravelさわる時に学習コスト下がるから、Bladeの方がよいだろうね
Bladeの単体版BladeOneで検索!
2020/09/07(月) 19:06:37.73ID:iwm7p9a20
>>480
>>481
今の流れはviewはJavaScript側にまかせるって感じだしそこまで真剣にテンプレートエンジンを覚える必要ない。
2020/09/07(月) 22:58:27.50ID:vp2iGZZIa
それってページは読み込まないけど、HTMLの一部分が変わって表示が変わるやつ?
phpではできないの?何という技術で調べたら良い?
2020/09/08(火) 00:47:57.85ID:7TbD0w8C0
テンプレートエンジンを使った場合は、基本的にサーバーサイドでHTMLが構築されそれを返すという感じですが
(レガシーなサイトならその後の動的要素はjqueryを使ったりしてページを書き換えますが)
フロントエンドのフレームワークを用いると、ページ自体は全く無い訳じゃないですが
サーバーが返すHTML的には動的な要素は基本無くなるので
(jsファイルなどの読み込みのキャッシュ回避の為に適当なクエリを追加するような要素があるならそこは動的ですが)
簡単なものを返す事になり、その実装はjavascriptにあるみたいな形になります
それらが可能なフレームワークはVue.jsやらreactやら色々ありますが
それらの質問はそもそもPHPじゃないのでスレ違いではあります
因みに、Vue.js等は流行りつつあるとは思いますが、技術レベル的に採用出来ない会社の方が多い気がします・・・
2020/09/08(火) 16:41:14.03ID:6+RBtSWt0
>>480
古いけど、「覚える」というほど学習コストがかかるものでもないから、基本構文は1,2時間もあれば覚えられる
それはBladeでも一緒なのでとりあえず触っとけばいいよ
2020/09/09(水) 21:04:09.14ID:YISNdA1z0
USキーボードになると、phpやhtml,cssを書いている時に
良かったと思えることってある?

スペースは広くなってキーの位置も色々も変わるけど
記号周りとphpなどでやっぱJPよりUSのほうが良いなということある?
2020/09/11(金) 18:02:31.73ID:rtPJv6Ig0
>>486
ウェブ系だと、例えば「;」と「:」の記号を多用するが
101キーボードだと、Shift押すだけで相互に変わるみたいなメリットはある

BackSpaceやEnterキーの押しやすさも、俺は101の方が好み
慣れだと言われたらそれでお終いなんだがw
2020/09/11(金) 18:05:41.44ID:rtPJv6Ig0
あ、「;」と「:」よりも「'」と「"」の方がメリットが大きいか
ほんと些細な差なんだが、入力に無駄がないのは101だと思う
2020/09/11(金) 21:45:27.08ID:VbzviMeM0
記号に関しては完全に同意
490デフォルトの名無しさん (ワッチョイ 59b1-QmsY)
垢版 |
2020/09/14(月) 19:30:52.06ID:0O/OkpbE0
Visual Studio CoreでPHPをデバッグするとき、出力結果が「デバッグコンソール」にHTMLソースとして表示されるので、
ボタンを押してページ遷移した時のデバッグが出来ません。
これはどのようにデバッグすればいいですか?
2020/09/15(火) 20:43:37.77ID:5APAKd5f0
自分のホームページでちょっとした仕事をPHPをさせようと思っています。
そのPHPは変数の配列が巨大でメモリ100MB以上使うのですが
このメモリの割りあてはサーバーですか、閲覧者のPCでしょうか?
2020/09/15(火) 20:46:51.20ID:0b6pmYZU0
>>491
サーバー
2020/09/15(火) 21:04:32.22ID:5APAKd5f0
>>492
そっか、じゃあupするのはやめときます。
ありがとう
494デフォルトの名無しさん (ワッチョイ 9f40-8NzO)
垢版 |
2020/09/16(水) 13:06:39.13ID:AE1Uwazk0
phpでwebサイトつくるとき、apacheのプロセス内で実行する(非CGI)というのがあるけど、
例えば巨大なデータをプロセス内に持っておく、ということはできるの?
全てのwebリクエストでその巨大なデータを共用する。

もしできないなら、phpで常駐プロセスを作ってそれでapacheと連携してwebリクエストを処理するような事は可能?
495デフォルトの名無しさん (ワッチョイ 9f40-lMKa)
垢版 |
2020/09/16(水) 13:09:06.47ID:AE1Uwazk0
test
2020/09/16(水) 16:34:31.11ID:VpAz8kB70
Ruby on Rails では、そういう事はしない

巨大なデータは、データベース(DB)内にあって、
ブラウザからのリクエスト毎に、DB内からデータを取り出して、送信する

関係DB では、MariaDB(MySQL), PostgreSQL、
NoSQL では、Mongo, Redis, Cassandra
497デフォルトの名無しさん (ワッチョイ 9f40-8NzO)
垢版 |
2020/09/16(水) 17:30:16.06ID:AE1Uwazk0
でも、webリクエストのたびに膨大な回数DBアクセスが生じる場合、
データをPHPの常駐プロセスで持ってDBアクセスを無くす方が速いでしょ。

常駐プロセスの作り方は検索すると出てくるけど
apache web serverとの連携方法は書かれてない
2020/09/16(水) 17:59:24.92ID:VpAz8kB70
DB は検索に特化してるプロだから、プログラミング言語じゃ勝てない

最初から、B+tree とかを使っているから、リスト・辞書などじゃ勝てない。
辞書も速いけど、再構成とかするから、DBには勝てない

安全性・整合性・一貫性などもあるし、トランザクション・並列処理とか
2020/09/16(水) 17:59:32.44ID:tUU8dMVW0
普通はDB側のキャッシュを活用する
2020/09/16(水) 18:50:43.97ID:U9VJx1m90
前から気になってたんだけど
phpの質問スレに冒頭から「Ruby on Rails では」ってレスしてるけど、なぜそんな嫌がらせするの?
こっちはphpに関するレスが見たいだけなのに・・・
2020/09/16(水) 18:51:27.15ID:VpAz8kB70
そもそも、80:20 の法則もある。
よく使う80% のデータは、20% のサイズしかない。
データの局所性

残りの80% のサイズは、休眠口座みたいなもので、まず使わない。
だから、それをメモリ内に置いておくのは、ムダ。
DB へ保存しておいて、メモリ内からは削除すべき

つまり、その都度、必要なデータだけを、DBから取得するのが効率的

図書館と同じ。
必要になったら、図書館へ行って、本を読む

すべての本を毎日、持ち歩く必要はない。
必要な分だけ取得して、使ったら捨てる
2020/09/16(水) 18:58:38.96ID:VpAz8kB70
Ruby on Rails が、すべてのフレームワークの基本だから

フレームワークの作者で、Rails を知らない香具師は、いない
2020/09/16(水) 19:28:07.69ID:YfCR4bUN0
基本を知ってるか知らないかどうかではない
その話をしているかどうかだ

総合スレでも何でも無いPHPスレでPHP話が出ていたらPHPで返せ
その後、ちなみにRailsでは〜と話すのならまだ分かる

実は狂信者の如く振る舞ってアンチ工作してるとしても辞めとけ
2020/09/16(水) 19:32:06.77ID:ZvL1SNiHr
Railsすげえなデータベースってものが使えるのか
PHPじゃ100%不可能
今からRailsに変更すべき
2020/09/16(水) 20:03:31.52ID:eJDvfDFO0
>>503
そいつはただの狂人だから、スルーする以外に対処法方が無いのが歯痒い
2020/09/16(水) 21:30:15.89ID:66kQJWEh0
>>497
>でも、webリクエストのたびに膨大な回数DBアクセスが生じる場合

なんでそんな設計にしちゃうの?
2020/09/16(水) 21:40:03.34ID:VpAz8kB70
Ruby on Rails の本には、N + 1 問題を回避しろとか、必ず書いてある
2020/09/16(水) 22:29:54.32ID:LchWuwwF0
rubyキチガイは無視して・・・
PHPならLaravelで気持ちよく開発出来る訳でrailsなんか使う理由が全く無いんだよね
2020/09/17(木) 06:34:41.70ID:uXMZOvCt0
そうしないために常駐つくる方法を知りたのだから
2020/09/18(金) 09:15:47.28ID:lvwc4UOr0
Redisとかmemcachedとか
2020/09/18(金) 19:42:45.46ID:Pqj6StLo0
>>494
とりあえず、>>510も紹介してくれている「Memcache」ってググろう

あと ruby をNGワードに入れておこう
ただのキチガイなので相手にしないようw

>>497
>>506が書いている通り、「webリクエストのたびに膨大な回数DBアクセスが生じる」のであれば、それは設計がおかしい
例えば、更新よりも読み出しの方が圧倒的に多いブログなんかだと、
DBからの読み出し結果をキャッシュして再利用するか、あるいは生成したHTML自体をキャッシュして利用する
512デフォルトの名無しさん (ワッチョイ ff02-K5ta)
垢版 |
2020/09/21(月) 16:47:29.93ID:Gy93ozB80
function rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = '<p>' . get_the_post_thumbnail($post->ID) . '</p>' . $content;
}
return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');
return $content;
}
この部分でCannot redeclare rss_post_thumbnail() (previously declared in wp-content/themes/luxech/functions.php:206)
というエラーが出るのですが何が原因なのでしょうか?
2020/09/21(月) 23:19:13.79ID:+seX53Ud0
そのエラーメッセージで検索すれば?

Cannot redeclare と言うことは、再宣言・再定義できないとか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況