X



PHP質問・雑談スレ4【初心者お断り(ROM歓迎)】 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
垢版 |
2017/06/28(水) 21:34:09.26ID:???
PHPに関する質問や雑談をするスレです。
初心者お断り(ROM歓迎)と書いてますが、初心者用のスレが用意されているからで、
難しい質問や話題をしなければいけないわけではありません。
PHPマニュアルの読み方を概ね理解していて、関数リファレンスが正しく読める方用のスレです。

PHP未導入の方や、手取り足取りが必要な初心者の方はム板のくだスレへどうぞ。
http://mevius.2ch.net/tech/ (【PHP】で板内を検索)

前スレ
http://medaka.2ch.net/test/read.cgi/php/1486956982/

その他リンク
・PHPマニュアル
 https://secure.php.net/manual/ja/index.php
・コードテスト・貼り付け用
 http://ideone.com/
・プログラミングのお題スレ (求PHPer参戦)
 http://mevius.2ch.net/test/read.cgi/tech/1480579110/

このスレで扱う話題
・PHPのコード,設定や設定値に関する質問
・常識的範囲内でのコードレビュー依頼・改良相談
・PECL,PEARに関する質問
・PHP新機能やPHP関連トレンドの話題
 (FWや非公式ライブラリの話題や特徴比較は良いが使い方から先の話題は専スレへ)
・PHPのバグ発見報告・公式に報告する前の検証依頼

このスレで扱わない話題
・直接関係ない○○特有の質問(専スレへ)
 (HH,エディタ,IDE,サーバ,OS,DB,SQL,FW,テンプレート,非公式ライブラリ・アプリケーション等)
・PHPの改造
0711nobodyさん
垢版 |
2018/08/12(日) 20:36:16.09ID:???
そうではないから廃れたんやぞ
0712nobodyさん
垢版 |
2018/08/12(日) 21:12:13.44ID:???
prelは正直、割とマジでキツイ
文法が違いすぎるから、しばらく離れてるとどう読んで良いのかがわからない
0713nobodyさん
垢版 |
2018/08/12(日) 21:27:47.32ID:???
perlはプリミティブなんだよな。
やりたい事を細かく制御して書かないといけない。
でも文字列処理だけは感心する。
0714nobodyさん
垢版 |
2018/08/12(日) 21:51:00.56ID:???
phpの話じゃなくてperlの話になってるじゃないですか!
0715nobodyさん
垢版 |
2018/08/12(日) 21:56:40.87ID:???
個人的にはPHPの方が気楽に書けて好きなんだけど, 現実的にはPythonで書くのがいいんだろうなぁ
PHPとPythonの共通点はbattery includedなあたりか
0716nobodyさん
垢版 |
2018/08/12(日) 22:33:57.36ID:???
phpとperl、cgiは一昔前は選択性みたいな感じだったのにね
いつの間にやらphp一辺倒になってた

>>715
一度pythonでサイト作ってみたけど本気でめんどくさかった
phpがもてはやされる理由がよくわかった
0717nobodyさん
垢版 |
2018/08/12(日) 22:40:19.13ID:???
ちょっと離れるけどバッチもWebもnodeであれこれやってみたことがあった
くそめんどかった
0718nobodyさん
垢版 |
2018/08/13(月) 00:07:08.75ID:???
>>710
鯖管あたりは配列とループ使うのにシェルスクリプト代わりにperlって人多い
0719nobodyさん
垢版 |
2018/08/13(月) 07:03:51.93ID:???
言語的な扱いやすさを取るか環境的な扱いやすさを取るかの天秤
そういう意味ではperlはありでもpyは意味がわからないo
0720nobodyさん
垢版 |
2018/08/13(月) 13:44:45.42ID:???
なぜPythonはダメ?
いずれ何でもかんでもPythonになる可能性すら秘めているのに…
まあ、互換性は不安あるけど。
Perlは下位互換が優秀だったからなあ…
0721nobodyさん
垢版 |
2018/08/13(月) 14:25:38.56ID:sZ92TvgJ
配列とループw
PerlもPHPもPython他の足元にも及ばんだろ。
ちょっとしたデータ処理しようと思ったときに、絶対に選ばない2大言語。
0722nobodyさん
垢版 |
2018/08/13(月) 15:45:58.02ID:zFMgiLTA
適材適所だし、どっちが上とかないしょ
PHPが未だにこれだけ使われてるしね
0723nobodyさん
垢版 |
2018/08/13(月) 16:08:50.29ID:???
>ちょっとしたデータ処理
環境構築を考えれば、こんなもん普段使ってる言語一択だろ
バカか
0724nobodyさん
垢版 |
2018/08/13(月) 16:41:01.31ID:???
自分のとこだけで動かすなら普段使いの言語だが, 他環境で動かす可能性があるならLSBに入ってるPerlかPythonだなー
0725nobodyさん
垢版 |
2018/08/14(火) 01:01:33.04ID:???
>>721
わかってないねぇ
標準インストールで入ってる可能性がダントツで高いのがperlなんだよ
0726nobodyさん
垢版 |
2018/08/14(火) 05:00:24.02ID:???
連想配列をjson_encodeでjsonにした際、「/」が、エスケープ処理されておらず困っているのですが
対処法はありますか?

オプションにJSON_UNESCAPED_SLASHESを指定しなければ、エスケープされるような記載を見掛けるのですが・・・

PHPバージョンは7.1です
0727nobodyさん
垢版 |
2018/08/14(火) 06:07:12.85ID:???
手元の7.2.1でjson_encode('test/test')とすると、test\/testが返ってくる

json_encodeの第二引数を明示的に 0 にしてみるとか
事前に(必要に応じて再帰的に)自分で/を\/にするとか
0728nobodyさん
垢版 |
2018/08/15(水) 08:05:27.87ID:qP4cYvWG
デフォルトがエスケープありになってるのか。
0729nobodyさん
垢版 |
2018/08/17(金) 14:43:40.86ID:???
ログインシェルをPHPにしたらオワタ
0730nobodyさん
垢版 |
2018/08/17(金) 14:54:08.54ID:???
お前の頭がインタラクティブ
0731nobodyさん
垢版 |
2018/08/17(金) 22:51:59.09ID:???
マルチメディアに対応したかったんだよ…
0732nobodyさん
垢版 |
2018/08/18(土) 01:34:32.30ID:???
>>727
すみません。勘違いしていました。
「/」ではなく、U+2044というFRACTION SLASHを記載して、
それに対してエスケープされないと嘆いてました。
0733nobodyさん
垢版 |
2018/08/18(土) 19:23:26.94ID:???
言われてるほどシェル言語としてだめなわけじゃない
あきらかにshやbashよりは使いやすいだろう
0734nobodyさん
垢版 |
2018/08/19(日) 12:23:47.75ID:???
win10のie11で外部pcの共有フォルダに置いてるpdfをphp関数で表示したいのですがどうすればいいでしょうか?
fopenのハンドルも取れず、readfileでも無反応です
ブラウザからファイルパス入力だと表示できます
0735nobodyさん
垢版 |
2018/08/19(日) 12:25:45.74ID:???
ブラウザ関係なくね?
他のブラウザなら思った通りになるの?
0736nobodyさん
垢版 |
2018/08/19(日) 12:32:11.81ID:Il2RNG8O
何やりたいかさっぱり分からん
質問するなら他人にちゃんと伝わるように書け
0737nobodyさん
垢版 |
2018/08/19(日) 12:36:15.56ID:???
NASみたいな共有フォルダにあるファイルにアクセスしたいってことでしょ…
PDFかどうか以前に、他のファイルも試してみろと。

PHPはなにのサーバーで動いていて、
バージョンはいくつなのかとか環境を書けよ。
ブラウザとかどうでもいいしw
0738734
垢版 |
2018/08/19(日) 12:37:22.17ID:???
vistaのie9だとできてたんですが
最新環境だとできないのです
0739734
垢版 |
2018/08/19(日) 12:38:27.17ID:???
apache2.2 php4.3です
0741nobodyさん
垢版 |
2018/08/19(日) 12:40:22.71ID:???
最新って何?
XAMPPとか使っててPHP 7.2.xとか?
0742734
垢版 |
2018/08/19(日) 12:42:00.39ID:???
最新と言うのはOSとブラウザがってことです 64bitです vistaは32bitです
phpとapacheはそのままです
0743nobodyさん
垢版 |
2018/08/19(日) 12:47:01.68ID:???
ここまでのやりとりで、教えるのは無理とわかったから他に行きな。
まともに質問すらできないんだから教えようがない。
0744nobodyさん
垢版 |
2018/08/19(日) 13:01:24.89ID:???
初心者お断りスレだしなー
0745nobodyさん
垢版 |
2018/08/19(日) 14:34:59.94ID:Il2RNG8O
まずはログとか見ろよ
ログに何も出てないなら何か根本的に間違ってるってこと
0746nobodyさん
垢版 |
2018/08/19(日) 14:49:41.25ID:???
俺の頭髪も根本が根本的に間違ってる
0747nobodyさん
垢版 |
2018/08/19(日) 17:12:58.11ID:kRBINjI+
PHPのsystem()でmysqldumpを使ってテーブルごとのsqlファイルを出力して、
それを圧縮して保存するプログラムを作った。
直接ブラウザでアクセスしてプログラムを動かすと正常に圧縮ファイルが保存される。
しかしcronで動かすと、全く空欄のsqlファイルを圧縮したものが保存される。

私には、全く原因が分からず修正できません。
原因はどういったものが考えられますでしょうか?
0748nobodyさん
垢版 |
2018/08/19(日) 17:17:02.88ID:???
cronでやらないで、CLIで一度実行してみたらいい
権限関係でねーのと思う
0749!ninja
垢版 |
2018/08/19(日) 17:18:09.56ID:???
ブラウザの裏で動いているPHPのユーザー権限や、
crontabのユーザー権限や、
ファイル類のパス、
実行カレントディレクトリ等は一致してますかね?
0750nobodyさん
垢版 |
2018/08/19(日) 18:18:48.73ID:Il2RNG8O
cronでありがちなのはファイルパスの指定ミス
実行プログラムやファイルの指定を相対パスで書くと事故ること多し
簡単に対応するなら全部絶対パスで書け
0751747
垢版 |
2018/08/19(日) 19:28:59.75ID:kRBINjI+
皆さん、ありがとう御座います。
まだ解決は出来てないのですが、調べるべき方向は見えてきました。
0752nobodyさん
垢版 |
2018/08/19(日) 19:31:32.86ID:???
実行権限の違いじゃね
webサーバはapache で
cron はcrontab -eで登録したユーザー
とか
0753nobodyさん
垢版 |
2018/08/19(日) 21:13:04.70ID:???
id > /tmp/log
pwd >> /tmp/log
env >> /tmp/log
0754nobodyさん
垢版 |
2018/08/25(土) 11:11:15.78ID:mbihd+U1
composerのclassmap-authorativeの最適化
場合によっては遅くなるってマジ?
速くなる場合もあるが以下の条件では遅くなるって

・依存ライブラリが多い
・リクエストで実際には使わないクラスが多い
・ファイルシステムからの検索が速い

最適化を有効にすると
読み込めるクラスを全部PHPの配列に入れるから
逆に速度が落ちる場合もある

opcacheが有効だとファイルシステムが遅くても緩和されるし
PHPファイルが更新されないならタイムスタンプのチェックも無効にすれば
PHPファイルを見る必要無くなるね

https://blobfolio.com/2017/03/benchmark-composer-autoloader/

APCU使った最適化については書いてない
0755nobodyさん
垢版 |
2018/08/25(土) 18:38:08.55ID:???
真実かどうか聞きたいのか、それとも自分で確認した事実を書きたいのか
0756nobodyさん
垢版 |
2018/08/25(土) 19:07:29.36ID:yUon0wwz
どうしても知りたいなら自分でベンチ取ってみるしかないだろう
0757nobodyさん
垢版 |
2018/08/25(土) 19:26:31.29ID:???
環境のせいで多少遅ってるかもしれない可能性を確認するよりも
コードを見直したほうがずっと早く改善できそう
0758nobodyさん
垢版 |
2018/08/26(日) 09:42:55.24ID:nAEEME22
こちらで質問させてください
classの必要性がいまいちわからないんですが、普通に自作関数を使うのとどう違うんでしょうか?
0759nobodyさん
垢版 |
2018/08/26(日) 10:00:36.02ID:???
classと同じようなことの実現は関数・objectを駆使すればたぶん無理ではない
けど非常にめんどい
継承とか再利用なんかはどうしようと悩む
0760nobodyさん
垢版 |
2018/08/26(日) 10:00:45.66ID:???
>>758
一人で作るプロジェクト、しかも関数だけだと特に変わらないね
消費税の計算するだけなら別にどっちでもいい。関数にもしなくて良い


今はまだ分からないかもしれないけど、
コンストラクタ、ガベージコレクション、トレイトなど便利な機能が山程ある
其内色々な機能を使うようになると思うので、とりあえずclassに慣れておいた方が良い・・・としか言えない
0761nobodyさん
垢版 |
2018/08/26(日) 10:01:30.69ID:???
>>759
継承の場合は丸ごとコピーになるね
で、一箇所かえたら両方変更する必要があり・・・とどんどん煩雑になる
0762nobodyさん
垢版 |
2018/08/26(日) 10:06:53.90ID:???
>>761
コードをコピペしたらもうそれは継承ではなくなってしまうな

関数名を扱うことでコールバック的にやろうとすれば、そこはもう地獄

うーむ
0763nobodyさん
垢版 |
2018/08/26(日) 10:10:44.53ID:???
とりあえずGCはclassに限った話じゃなくね?
関数内でも一応無関係ではないはず
インスタンスに対するGCは
関数主体の場合だと関数内の変数や関数外の変数に対するGCが当てはまるわけで
0764nobodyさん
垢版 |
2018/08/26(日) 10:25:52.22ID:???
あまりclassがうんぬんを意識しないで使ってるものを考えたらわかりやすいかも
PDOとかExceptionとか
0765758
垢版 |
2018/08/26(日) 11:12:05.68ID:nAEEME22
独学で基礎的なことだけ覚えたんですが、わりと小規模な会員機能付きのブログエンジンやデータベース系のサイト程度なら作れるようになったんですが(プロから見たら多分穴だらけ)、クラスの必要性が分からず全て関数作ってやってました
コードの使い回しにしても関数にしておいて1度呼び出しておけば何度も使えるし、継承にしても関数内で別の関数を呼び出したりして
直感的にも使いやすかったのでそうしてるんですが、今後もっと複雑な事をやろうとするとやっぱりクラスに慣れて使った方がいいんですかね

関係ない話ですが、人のコードとか見ると多次元配列の回し方とか他にもいろいろ人と違うし自分の脳の作りを疑ってしまう。。
0766nobodyさん
垢版 |
2018/08/26(日) 11:43:42.77ID:???
>>765
その場合は「状態」を誰が持っているのかってのが一つのポイントだと思う
状態をグローバル変数に持つのは嫌だし, 関数に持たせるのも良くない
0767nobodyさん
垢版 |
2018/08/26(日) 15:35:20.70ID:???
コードの書き方は設計にもつながるからなあ
DB使ってるならPDOがまさにインスタンスごとに別のコネクションを保持できて
class=インスタンスの中に関係関数がまとまってて
classの利点がわかりやすい
0768nobodyさん
垢版 |
2018/08/26(日) 15:36:42.57ID:???
名前空間が分かれるだけでもありがたいよ
0769nobodyさん
垢版 |
2018/08/26(日) 18:00:16.90ID:???
標準クラスの名前空間って\だよね?
0770nobodyさん
垢版 |
2018/08/26(日) 22:34:08.74ID:???
>わりと小規模な会員機能付きのブログエンジンやデータベース系のサイト程度

ここら辺に何かを感じる
0771nobodyさん
垢版 |
2018/08/27(月) 00:48:28.21ID:???
そこはいいの。お節介するところじゃない。
0773nobodyさん
垢版 |
2018/08/27(月) 12:57:27.44ID:???
file_get_contentsで他サーバーのデータを取得した際、
データが途中までしか入って無い場合があり、困ってるのですが対処方法はありますか?

$http_response_headerに載っているContent-Lengthに比べても少ない
file_get_contentsの戻り値が、falseではないがデータが半分くらいしか入ってない状態で、エラーも何もなくそのまま処理が継続してしまう形です。
そのタイミングでリトライしても結果は変わらず、時間置くくらいしか正常に動作しません。

ただ発生するときは、file_get_contentsで他サーバーのデータを17ファイル連続で取りに行く場合などで、
その場合、3ファイル程データがおかしくなっているという感じです。
1ファイル処理する分には正常に動作し、再現しません。


環境はLinux / apache2-api-20120211 / PHP 7.1.18です。
0774nobodyさん
垢版 |
2018/08/27(月) 13:10:26.40ID:???
>$http_response_headerに載っているContent-Lengthに比べても少ない
>そのタイミングでリトライしても結果は変わらず

比べてみて、少なかったら
成功するまでリトライすればいいじゃない
contextつきでもfile_get_contentsで問題があって、しかしcurlを使うと問題が出なくなるということもある(※実話)
0775nobodyさん
垢版 |
2018/08/27(月) 14:00:52.82ID:???
自分の場合どっちもだめでfsockopenでようやくいけたなんてことがあったな
一番詳細なこと出来るのはfsockopenだからねえ
0776nobodyさん
垢版 |
2018/08/27(月) 14:23:18.31ID:???
自前でソケット通信考えたらredirectとかkeepaliveとかくっそ面倒だった記憶がある
0777nobodyさん
垢版 |
2018/08/27(月) 14:56:47.44ID:???
>>774
>成功するまでリトライすればいいじゃない
同プロセスでは何度やっても一度も正しく取得できないんです…
別プロセスで起動し直すと正しく取得できるときもあるのですが、
それは使用リソース的な問題であまりやりたくないというか…

curlを試してみるしかないですかね

>>775
どっちもだめ…curlの勝算も低いですかね…
fsockopen使うくらいなら別言語を検討してしまいそうだ
0778nobodyさん
垢版 |
2018/08/27(月) 15:20:54.44ID:MKVYhJ6R
ググったら1番上の記事(公式マニュアル除く)にあるじゃん。
0779nobodyさん
垢版 |
2018/08/27(月) 15:46:07.23ID:???
具体的に何回やったのか
そのうち本当に通信が発生してるのは何回か
調査と試験どっちもしないの
0780nobodyさん
垢版 |
2018/09/01(土) 14:57:08.37ID:xLd9eNnQ
APCuキャッシュを使っている。
管理画面apc.phpに表示されるFragmentationが日々上がっていっている。
現在10%ぐらいだが、まだまだ上がりそう。
この断片化率が上がると何か問題があるのか?
何%ぐらだと問題で、対策はどうすればいいのか?
0781nobodyさん
垢版 |
2018/09/01(土) 15:32:43.35ID:???
APCuって自分でなんとかできる人が使うもんじゃなかったっけ
ほかの選択肢あるっしょ
0782nobodyさん
垢版 |
2018/09/01(土) 15:45:20.23ID:???
ググってわからなかったら、
夜中とか定期的に完全削除しちゃえ。

キャッシュなんてすぐ育つから。
0783780
垢版 |
2018/09/01(土) 16:19:01.86ID:xLd9eNnQ
俺は、自分で調べないわけじゃないぜ。ただ少なくとも日本語の情報は殆どない。
「apcu 断片化」では20件程度、「apcu Fragmentation」なら沢山ヒットするが、対象を日本語ページに絞ると10件程度しかない。
これらは全部読んだが「Fragmentationが高くなったら、キャッシュをクリアしろ」ということが書いてあっただけで、
何%だと問題なのか、そもそもどのような問題が発生するのか分からない。
英語が読めないわけじゃないけど、英語で検索して必要な情報を調べるのは苦労するよ。
0784nobodyさん
垢版 |
2018/09/01(土) 16:28:38.69ID:???
自分でベンチマーク取って検証するんだ。
そして報告すれば誰かの役に立つ。
ちなみに俺は何も知らない。すまん…w
0785nobodyさん
垢版 |
2018/09/01(土) 16:30:11.58ID:???
いっそのことソース読んだら
0786nobodyさん
垢版 |
2018/09/01(土) 16:30:52.08ID:???
ソース読んで効果がわかる部分じゃないだろ…
0787nobodyさん
垢版 |
2018/09/01(土) 16:44:49.29ID:???
ソース読めば全部わかるだろ
0788nobodyさん
垢版 |
2018/09/01(土) 16:52:55.17ID:???
ソース読んで、何%断片化すると悪影響が出るかわかる?
キャッシュの実装方法がわかっても測定しないとわからないことだよ。
0789nobodyさん
垢版 |
2018/09/01(土) 16:58:46.78ID:???
APCuって
オペコードキャッシュ部分がなくなって、cookieみたいなkey-valueのデータを自前で自サーバのメモリに共有するだけに単純化されたもんでねえの
DISKにcsvで持ったりDB使ったりで共有するんじゃなくてメモリに持って共有しましょう的な

だとすると、キャッシュクリア=メモリ上の情報破棄だから気軽にやっちゃあかんし
fragmentになってるっていうなら、
それがメモリ上にあるというだけで他はDISKにおけるfragmentと同じでしょ?同じように考えりゃいいじゃん
0790nobodyさん
垢版 |
2018/09/01(土) 17:03:03.50ID:???
>>788
メモリにどういう配置してどう読み書きしてるかがわからないと
断片化を操作する検証も度合いごとに断片化が及ぼす影響の調査もできなくない?

ことが断片化だから、意図的に特定の断片化状態を作るのって
内部知らないと相当難しいように思うんだけど
0791nobodyさん
垢版 |
2018/09/01(土) 17:04:43.00ID:???
突き詰めるとメモリ領域の話になってくるんけ?
0792nobodyさん
垢版 |
2018/09/01(土) 17:17:23.22ID:???
ソースだけ見れば分かるならプロファイラ何か要らないんだよなー
0793nobodyさん
垢版 |
2018/09/01(土) 18:19:46.16ID:???
Fragmentationが100%に達してても
キャッシュヒット率が高ければ問題ないらしい
(書き込みは遅くなるが読み取りは遅くならない)

https://serverfault.com/questions/506328/php-apc-is-100-fragmentation-a-bad-thing

とは言っても書き込みは遅くなるわけで
実際パフォーマンスにどれくらい影響が出るかは使用状況によるので一概に言えない

本番環境のパフォーマンスを見るには
New Relic APMがおすすめらしいけど
自分は使ったこと無い
0794nobodyさん
垢版 |
2018/09/01(土) 18:45:33.01ID:???
JavaのGCだとコンパクションとか
断片化を防ぐ仕組みはあったけど
多分apcuにはそんな仕組みはないと思われ
動的に確保するから更新・削除を何度も行うと細切れになる

断片化率は5MB以下のブロックが全体に占める割合みたいなことが書いてある

解放されたブロックが隣接してたらマージして1つのブロックにする、とも書いてあるが
これだけだと完全に断片化は防げないとか?

https://github.com/krakjoe/apcu/issues/127#issuecomment-244362339

NewRelic使えとかはこの辺で見た

https://medium.com/@davidtstrauss/avoiding-the-pitfalls-of-apcu-4aa9de00ef93
0795nobodyさん
垢版 |
2018/09/01(土) 18:52:38.08ID:???
Symfonyも
書き込みや削除が多い用途にAPCUを使うと断片化しやすいから使うなって言ってる
多分それをやるとAPCUの管理するブロックの数がどんどん増えていって
新しいブロックの確保が遅くなるんだろう

代わりにRedisとかmemcachedとか使えば?
遅延があるとかで場合によっては使えないかもしれないが

Use of this adapter is discouraged in write/delete heavy workloads, as these operations cause memory fragmentation that results in significantly degraded performance.

https://symfony.com/doc/current/components/cache/adapters/apcu_adapter.html
0796780
垢版 |
2018/09/01(土) 21:31:23.17ID:xLd9eNnQ
ありがとう。少し分かってきた。
英語での情報収集が必要とかレベルが上ってきた感じがしていいね。
0797nobodyさん
垢版 |
2018/09/02(日) 06:36:05.35ID:???
クソッ、話が高度すぎる・・・
今日からPHPUnit使うなんて言い出せないじゃないか。
0798nobodyさん
垢版 |
2018/09/02(日) 09:08:26.43ID:???
APCuってしらんが
セッションにDBのハンドラ入れても使えなかったのを
使えるようになるような代物かね?
0799nobodyさん
垢版 |
2018/09/02(日) 09:36:09.10ID:???
>>798
言ってる意味がわからない
DBの接続はリクエスト終わったら切られるだろ
0800nobodyさん
垢版 |
2018/09/02(日) 10:26:34.63ID:???
>>799
いやわかるけど

で、sessionで使えなかったのを使えるようになるような代物ではない
serializeできないものは無理、sessionも共有メモリもそう
リソース型と一部のオブジェクトは無理
0801nobodyさん
垢版 |
2018/09/02(日) 10:35:20.45ID:???
DB接続やファイルハンドラが処理終了時に自動的に切られるのは、
そういう扱いをされるべきリソース型であって確実にデストラクタが呼ばれてるからという理由であって、
処理終了時にシンボルテーブルにある全変数が解放されるのとは無関係、
よって、変数の格納先が異なるだけの$_SESSIONや共有メモリでもこの事情は変わらない、

と理解している
json化できないものは入れられないwebStorageみたいな感覚
0802nobodyさん
垢版 |
2018/09/02(日) 20:02:16.35ID:???
Dockerで
nginxコンテナとphpfpmコンテナを分けてコンテナで分けて作った時
nginxの方はphpファイル入ってなくてもディレクトリさえあれば普通に動くな

開発する時はDockerボリュームを2つのコンテナにマウントしてたが
本番用イメージをCIで作る時は・・・?2つのイメージに同じphpファイルを入れなくちゃいけないのか?って思って調べたらこのような方法が見つかった

画像やCSSとかの静的ファイルは・・・nginxの方だけに入れるか
0803nobodyさん
垢版 |
2018/09/02(日) 20:04:53.11ID:???
phpMyAdminの公式Dockerイメージはnginxとphpが一つのコンテナになってたけど
あれって面倒?

php:7.2-fpmをベースイメージとしてそのまま使うのは出来なくなるよな
それだけでめんどそう
0804nobodyさん
垢版 |
2018/09/03(月) 07:53:52.79ID:???
速度重視じゃないから構わないのでは…
0805nobodyさん
垢版 |
2018/09/03(月) 14:47:55.71ID:???
というかホスト側ポートに繋げて直接外に晒すなりのホストのhttpdからリバースプロキシして使うもんだろ?
nginxコンテナとphp-fpmコンテナに静的コンテンツと動的コンテンツを分けて入れてnginxコンテナからphp-fpmコンテナを見えるようにしてとか, そんな細かい粒度にする必要を感じない
0806nobodyさん
垢版 |
2018/09/03(月) 19:59:04.77ID:???
phpMyAdminのDockerイメージが使ってるのはsupervisordだった

ベースイメージはphpで、supervisordやnginxを別途インストールしている
意外と難しくない?
0807734
垢版 |
2018/09/03(月) 20:04:21.13ID:???
遅ればせながら自己解決
0808nobodyさん
垢版 |
2018/09/04(火) 11:02:04.45ID:???
supervisordは落とし穴が多い
使わなくて済むなら使いたくない
0809nobodyさん
垢版 |
2018/09/05(水) 07:35:09.46ID:???
俺なんかhttpdはinetdの下でいいやと思うことすらある。
ただし、apapche 1みたないのよりずっと軽いやつね。
0810nobodyさん
垢版 |
2018/09/05(水) 08:52:13.09ID:WQzBx9At
どうしても一つにしたいならApacheでいいじゃん。
docker-composeとかあって分けるのが大した面倒でもないのに、一つに拘る理由がわからんけど。
■ このスレッドは過去ログ倉庫に格納されています

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