- 1 名前:nobodyさん mailto:sage [2012/01/20(金) 05:43:23.62 ID:???]
- 質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り 次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。 ◆前スレ 【PHP】下らねぇ質問はID出して書き込みやがれ 114 kohada.2ch.net/test/read.cgi/php/1325437405/ ◆質問用テンプレ 【OS名】CentOS 【PHPのバージョン】5.3 【連携ソフトウェア】MySQL ImageMagick 【質問内容】 ◆質問する時の注意 ・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す) ・ 己の行った操作、変更などを詳しく明記すること。 ・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。 ・ 質問者として、態度をわきまえること。 ・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。 (PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。) ◆質問後の注意 ・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。 ・解決しなくても回答をもらった場合はお礼を言うこと。 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。) ◆回答者への注意 ・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。 【その他諸注意】 ・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
- 777 名前:nobodyさん mailto:sage [2012/02/21(火) 16:17:22.51 ID:???]
- >>776
この場合はforeach
- 778 名前:nobodyさん mailto:sage [2012/02/21(火) 16:19:18.56 ID:???]
- if($val==0){
$data["A"]='あ'; } elseif($val=1){ $data["B"]='い'; } elseif($val=2){ $data["C"]='う'; } こんなことするなら最初からvalueにあいう入れればいいのに
- 779 名前:nobodyさん mailto:sage [2012/02/21(火) 16:59:54.36 ID:???]
- >>773
質問内容を理解してないから分からないんじゃないのか? よって君はチェリーボーイ
- 780 名前:nobodyさん mailto:sage [2012/02/21(火) 17:07:19.21 ID:???]
- >>779
>>1読めって言ってんのがわかんねーやつは引っ込んでろよ
- 781 名前:770 mailto:sage [2012/02/21(火) 17:08:17.74 ID:???]
- >>777
ありがとうございます。 そうじゃない場合はどんなときでしょうか?
- 782 名前:nobodyさん mailto:sage [2012/02/21(火) 17:15:36.37 ID:???]
- >>781
配列にひとつの値があるか検索する時
- 783 名前:nobodyさん [2012/02/21(火) 23:58:50.45 ID:QmooF5El]
- PHPの遅さを解消する方法はありますか?
- 784 名前:nobodyさん mailto:sage [2012/02/22(水) 00:03:26.59 ID:???]
- あなたの頭の回転の遅さを解消しましょう
- 785 名前:nobodyさん mailto:sage [2012/02/22(水) 00:07:59.95 ID:???]
- >>783
無駄な動作をなくせばいい
- 786 名前:nobodyさん [2012/02/22(水) 01:07:04.45 ID:HjiaSrjv]
- >>785
CakePHPを早くするためにはどうしたらよろしいでしょうか? デフォルトの状態です。 WordPressを早くするためにはどうしたらよろしいでしょうか? デフォルトの状態です。 OpenPNEを早くするためにはどうしたらよろしいでしょうか? デフォルトの状態です。 symfonyを早くするためにはどうしたらよろしいでしょうか? デフォルトの状態です。
- 787 名前:nobodyさん mailto:sage [2012/02/22(水) 01:09:47.45 ID:???]
- また発作か
- 788 名前:nobodyさん [2012/02/22(水) 01:39:15.45 ID:HjiaSrjv]
- 結局、言語自体が遅い気がします。
- 789 名前:nobodyさん mailto:sage [2012/02/22(水) 01:42:23.62 ID:???]
- 今時体感できるほど遅いなら単にサーバがしょぼいだけだろ
- 790 名前:nobodyさん [2012/02/22(水) 01:44:59.53 ID:HjiaSrjv]
- >>789
他の言語に比較して遅いです。 比較はJavaとPythonです。
- 791 名前:nobodyさん [2012/02/22(水) 01:46:11.48 ID:HjiaSrjv]
- PHPもページ単位で処理が終わるものなら早いですが、
オブジェクト指向を始めると途端にパフォーマンスが悪くなるようです。
- 792 名前:nobodyさん [2012/02/22(水) 01:48:41.94 ID:HjiaSrjv]
- >>789
ローカル環境でも遅いのでどうしようもありません。
- 793 名前:nobodyさん mailto:sage [2012/02/22(水) 01:54:46.01 ID:???]
- じゃ窓からPCでも捨てればいいと思うよ
- 794 名前:nobodyさん [2012/02/22(水) 01:57:04.91 ID:HjiaSrjv]
- PHPでセッションにオブジェクトを格納することは少ないのでしょうか?
アプリケーションスコープが無いのはわかっていますが、セッションはありますよね。 WordPressしかり、Cakeしかり、symfonyしかり、オブジェクト格納場所として セッションは考えられていないようです。これが結果としDBへの 余分なアクセスを増大させているようです。
- 795 名前:nobodyさん [2012/02/22(水) 01:58:42.03 ID:HjiaSrjv]
- >>793
たとえばOpenPNEが稼働しているサイトで機敏に動くところはありますか? 自分が知っている限り無いと思いますが・・・。
- 796 名前:nobodyさん mailto:sage [2012/02/22(水) 02:10:14.28 ID:???]
- OpenPNE使ってるサイトなんて画像が多かったりコード量が多いサイトがほとんどだろ
なんでもかんでもPHPのせいにすればいいってもんじゃない
- 797 名前:nobodyさん mailto:sage [2012/02/22(水) 02:18:02.00 ID:???]
- >>789
さすがにそれは無いわ。サーバがしょぼいの敷居がよほど高くなければ。
- 798 名前:nobodyさん [2012/02/22(水) 02:18:21.92 ID:HjiaSrjv]
- >>796
書いていますが、デフォルトの状態ですでに重いのです。 一切カスタマイズしていない状態です。ちなみに3.6系の最新版です。 デバックモードで起動するとものすごい数のSQLクエリが発行されています。 >>794についてはどう思われますか?
- 799 名前:nobodyさん [2012/02/22(水) 02:20:08.85 ID:HjiaSrjv]
- PHPのインタープリタが遅いのは承知していますが、
それ以上にクエリをムダに発行しているように思えるのです。
- 800 名前:797 mailto:sage [2012/02/22(水) 02:20:36.63 ID:???]
- >>798
PHP部に限って言うならopコードキャッシュ使う。 DBアクセス数が多くて、コネクション生成コスト、クエリコストが原因で遅いのであれば、PHP自体の問題ではなくなる
- 801 名前:nobodyさん mailto:sage [2012/02/22(水) 02:21:25.34 ID:???]
- 本当にそれが無駄なのであれば改善すれば世界中の人に喜ばれるよ。
- 802 名前:nobodyさん mailto:sage [2012/02/22(水) 02:22:22.14 ID:???]
- >>794についてはどう思われますか?
一人だけで使うなら別にいいんじゃね
- 803 名前:nobodyさん [2012/02/22(水) 02:23:07.36 ID:HjiaSrjv]
- PHPのリソースの捉え方が非常に大雑把で困惑しています。
たとえばJavaであれば 1.アプリケーションスコープ 2.セッションスコープ 3.リクエストスコープ 以上の3スコープに欲するデータが無い場合のみDBへアクセスしますが、 CakeやWordPress、OpenPNEなどの場合はお構いなしに毎回DBへアクセス しているのが不思議です。
- 804 名前:nobodyさん mailto:sage [2012/02/22(水) 02:26:05.08 ID:???]
- >>803
Webサーバを複数使うことを想定してそうなってるわけじゃなくて? 設定とかで変えられないの?ってか、変えられないからそのように断定しているんだろうけれど。
- 805 名前:nobodyさん mailto:sage [2012/02/22(水) 02:30:02.12 ID:???]
- >>803
ちなみに期待するレスポンスはどの程度で、現状はどれくらい? 同時接続クライアント数など、必要なものを列挙してほしい。ベンチの結果でもいい。
- 806 名前:nobodyさん mailto:sage [2012/02/22(水) 02:32:41.04 ID:???]
- それがわからないから管を巻いてんじゃねえかな
- 807 名前:nobodyさん [2012/02/22(水) 02:40:30.48 ID:HjiaSrjv]
- >>805
>>806 PHPの主要フレームワークやCMSのソースコードリーディングに基づき、 このスレを書き込みしています。実践というわけではありません。 気づいたことはオブジェクトの一時保存場所としてセッションが 使用されていないのが不思議なのです。だからSQL発行が非常に多い。 これはなぜですか?
- 808 名前:nobodyさん mailto:sage [2012/02/22(水) 02:41:22.45 ID:???]
- >>807
>>804の1行目は理解できる?
- 809 名前:nobodyさん [2012/02/22(水) 02:43:20.60 ID:HjiaSrjv]
- >>808
PHPは分散オブジェクトは対応していないのですか?
- 810 名前:nobodyさん mailto:sage [2012/02/22(水) 02:46:14.38 ID:???]
- >>809
Javaのスコープの話が出てきた時点でこうなりそうな気はしていたが。 今後の話をわかりやすくするために「分散オブジェクトに対応する」というのがどういうことか伝えてもらえるかな。
- 811 名前:nobodyさん [2012/02/22(水) 02:50:27.92 ID:HjiaSrjv]
- >>810
複数のコンピュータ間で同じオブジェクトを同一マシーン上で処理が済むことと同じようにすることですよね。
- 812 名前:nobodyさん [2012/02/22(水) 02:53:35.00 ID:HjiaSrjv]
- OpenPNE,WordPress、CakePHPはセッションへオブジェクトを格納する設計になっていないのでしょうか?
- 813 名前:nobodyさん mailto:sage [2012/02/22(水) 02:54:02.25 ID:???]
- >>811
それでいいのなら、対応してる。
- 814 名前:nobodyさん mailto:sage [2012/02/22(水) 02:55:12.88 ID:???]
- >>812
ソースコードリーディングは諦めたの?
- 815 名前:nobodyさん [2012/02/22(水) 02:56:50.78 ID:HjiaSrjv]
- >>812
なぜ同じクエリを何度も発行しているのでしょうか? OpenPNE3.6系です。
- 816 名前:nobodyさん mailto:sage [2012/02/22(水) 03:00:29.37 ID:???]
- いらなクエリをコメントアウトすればいいんじゃね?
- 817 名前:nobodyさん [2012/02/22(水) 03:02:33.49 ID:HjiaSrjv]
- >>816
その論法で行くと全部コメントアウトになりますが・・・。 私の質問はPHPでは答えにくのでしょうか?
- 818 名前:nobodyさん mailto:sage [2012/02/22(水) 03:04:26.65 ID:???]
- そろそろしんどい。
>>815, 817 繰り返すが、それが本当に無駄なら報告すれば多方面から感謝されるからそうしたらいい。
- 819 名前:nobodyさん [2012/02/22(水) 03:08:04.96 ID:HjiaSrjv]
- >>818
そんなに大げさなことでしょうか? OpenPNEを試されたことがありますよね? デバックモードで起動するとSQL発行数がわかりますが、すごい量です。 これはなぜですか?と言っているだけです。だから遅いんじゃないでしょうかと。
- 820 名前:nobodyさん [2012/02/22(水) 03:09:29.52 ID:HjiaSrjv]
- セッションにオブジェクトを格納しない理由があるのでしょうか?
昔はシリアライズのバグの話は聞いたことがありますが、さすがに今は解消しているはずです。
- 821 名前:nobodyさん mailto:sage [2012/02/22(水) 03:09:46.81 ID:???]
- >>819
デバッグモードじゃなければ発行されないの? 何のために使われるクエリなのかは調べてないの? OpenPNEは使ったこと無いよ。使ったこと無いならレスしないでっていうことなら喜んでレスやめる。
- 822 名前:nobodyさん mailto:sage [2012/02/22(水) 03:09:49.44 ID:???]
- セッション切れるまでリソース保持とかどんな罰ゲーム
- 823 名前:nobodyさん mailto:sage [2012/02/22(水) 03:09:54.82 ID:???]
- x86命令セット渡しても文句言いそうだな
- 824 名前:nobodyさん mailto:sage [2012/02/22(水) 03:11:44.08 ID:???]
- どういう学び方をしたらこんなこじらせた頭になるんだ?
- 825 名前:nobodyさん [2012/02/22(水) 03:11:56.60 ID:HjiaSrjv]
- >>821
デバッグモードで起動するとSQLクエリの発行数がわかります。
- 826 名前:nobodyさん [2012/02/22(水) 03:13:20.43 ID:HjiaSrjv]
- >>822
それならそれでいいんです。 PHPでは罰ゲームレベルという理解でよろしいのですね。
- 827 名前:nobodyさん mailto:sage [2012/02/22(水) 03:13:21.46 ID:???]
- こんなとこで使ったこと無い人相手にがんばるくらいならコード読み進めてみたら?
- 828 名前:nobodyさん [2012/02/22(水) 03:14:30.57 ID:HjiaSrjv]
- 結局のところ、
PHPではセッションにオブジェクトを格納するのは一般的ではないという結論ですね。
- 829 名前:nobodyさん mailto:sage [2012/02/22(水) 03:15:13.92 ID:???]
- >>826
Javaだと放置セッションのリソースはいつ破棄されるの?
- 830 名前:nobodyさん mailto:sage [2012/02/22(水) 03:15:30.89 ID:???]
- >>826
だから言っただろ 一人だけで使うなら別にいいんじゃね って
- 831 名前:nobodyさん [2012/02/22(水) 03:15:45.98 ID:HjiaSrjv]
- よくわかりました。道理でセッションが使用されていないわけだ。
- 832 名前:nobodyさん [2012/02/22(水) 03:16:55.71 ID:HjiaSrjv]
- >>829
アプリケーションサーバーの設定による。 ただし、プログラムレベルでは細かく殺してリソースのムダ遣いを減らします。
- 833 名前:nobodyさん mailto:sage [2012/02/22(水) 03:17:02.95 ID:???]
- 他人のコードを読む時の絶望感といったら言葉にならない
らーらーらー ららーらー 言葉になら〜ない
- 834 名前:nobodyさん mailto:sage [2012/02/22(水) 03:17:23.17 ID:???]
- PHPだけの問題じゃないでしょうに
Javaだって同じ事
- 835 名前:nobodyさん mailto:sage [2012/02/22(水) 03:17:48.03 ID:???]
- >>832
PHPも一緒だよ。
- 836 名前:nobodyさん mailto:sage [2012/02/22(水) 03:18:45.31 ID:???]
- 基礎知識が足りなさすぎるだろ
もっと幅広く勉強しろよ
- 837 名前:nobodyさん [2012/02/22(水) 03:19:08.08 ID:HjiaSrjv]
- もう大丈夫です。
PHPではセッションにオブジェクトを格納するのは一般的ではないということが よくわかりました。
- 838 名前:nobodyさん mailto:sage [2012/02/22(水) 03:20:04.33 ID:???]
- どういたしまして。
- 839 名前:nobodyさん [2012/02/22(水) 03:24:16.48 ID:HjiaSrjv]
- セッションにオブジェクトを格納するのはPHPでは一般的では
ないとわかりましたが、それはPHPプログラマにとって尺に触ることでしょうか?
- 840 名前:nobodyさん [2012/02/22(水) 03:27:56.08 ID:HjiaSrjv]
- 尺に触ったのであればすみまんでした。特に悪気はありません。
- 841 名前:nobodyさん mailto:sage [2012/02/22(水) 03:30:45.46 ID:???]
- 癪に障るかってどういうことだろ。
たとえば一般的ではないことを強要されたら癪に障るかも知れないけれど。
- 842 名前:nobodyさん mailto:sage [2012/02/22(水) 03:38:58.82 ID:???]
- もしかして煽ろうとしていたのか…?
- 843 名前:nobodyさん mailto:sage [2012/02/22(水) 03:57:13.25 ID:???]
- >>840
キレてないっスよ ペチパーキレさせたら大したもんスよ
- 844 名前:nobodyさん mailto:sage [2012/02/22(水) 04:52:15.14 ID:???]
- PHPでC言語の実装するとか言ってたのはどうなったんだ?
- 845 名前:nobodyさん mailto:sage [2012/02/22(水) 06:32:14.02 ID:???]
- PHPだからとかJavaだからとか関係ないから。
Webアプリケーションの設計の話でしょ。
- 846 名前:nobodyさん mailto:sage [2012/02/22(水) 07:41:18.69 ID:???]
- >>795
JavaとPythonで比較してるなら、OpenPNEに相当するJavaとPythonで実装されたもので 機敏に動くものを知りたい。
- 847 名前:nobodyさん mailto:sage [2012/02/22(水) 08:55:42.21 ID:???]
- もう大丈夫です。
PHPではセッションにオブジェクトを格納するのは一般的ではないということが よくわかりました。
- 848 名前:nobodyさん mailto:sage [2012/02/22(水) 09:00:26.08 ID:???]
- PHPでなくても一般的ではない
- 849 名前:nobodyさん mailto:sage [2012/02/22(水) 09:03:48.77 ID:???]
- >>848
嘘つくなw
- 850 名前:nobodyさん mailto:sage [2012/02/22(水) 09:10:04.74 ID:???]
- コネクションプーリングってのはそもそもアプリケーション鯖が対応してなければ使えない
- 851 名前:nobodyさん mailto:sage [2012/02/22(水) 09:13:27.28 ID:???]
- >>850
当然。だからphpではコネプール不可。
- 852 名前:nobodyさん mailto:sage [2012/02/22(水) 09:15:30.80 ID:???]
- セッションの話はどうでもいいが、openpneが激重なのは同意。
かなりヤバイレベル。バージョン2の時代はマシだった。
- 853 名前:nobodyさん mailto:sage [2012/02/22(水) 09:17:48.11 ID:???]
- んでコネクションプーリングを実現するのにセッションが必要なんて
そんなヴァカな話があるのか
- 854 名前:nobodyさん mailto:sage [2012/02/22(水) 09:24:03.91 ID:???]
- >>853
たしかに、唐突にコネクションプーリングの話は変だとは思った。 その逆も必要ないかと。 話の流れとは関係ないw
- 855 名前:nobodyさん mailto:sage [2012/02/22(水) 10:49:21.91 ID:???]
- >>852
可能です。 以上。 ↓次どうぞ
- 856 名前:nobodyさん [2012/02/22(水) 11:04:16.02 ID:yvJnpOho]
- >>783
CGIじゃなくてモジュールで動作させれば早いと書いてあった。 今のところはCGIで動作の仕様になってる。
- 857 名前:nobodyさん mailto:sage [2012/02/22(水) 11:17:37.00 ID:???]
- 頭大丈夫 ?
- 858 名前:nobodyさん mailto:sage [2012/02/22(水) 11:27:57.48 ID:???]
- もう手遅れかと
- 859 名前:nobodyさん mailto:sage [2012/02/22(水) 15:35:04.94 ID:???]
- コネクションプーリングは言語レベルのサポートは無い。
- 860 名前:nobodyさん mailto:sage [2012/02/22(水) 15:37:33.90 ID:???]
- Javaのようなオブジェクト指向言語では普通にオブジェクトをセッションへ格納する。
- 861 名前:nobodyさん mailto:sage [2012/02/22(水) 17:05:21.76 ID:???]
- いいえアプリケーションで管理するのが普通です
- 862 名前:nobodyさん mailto:sage [2012/02/22(水) 17:34:31.83 ID:???]
- setcookie();の挙動について悩んでいます
a.phpで echo $_COOKIE['testvar1']; var_dump($_COOKIE); --- b.phpで setcookie('testvar1', 'bbb') //a.phpでbbbが出力される --- c.phpで setcookie('testvar1', 'ccc') //a.phpでcccが出力されない setcookie('testvar2', 'xxx') //a.phpでtestvar2自体が確認出来ない と、以上のようにしてる時、b.php → a.php の順番でアクセスするとechoもvar_dumpも正常な結果を返すんですが、その後 c.php → a.php の順番でアクセスするとechoはbbbを返し、var_dumpは追加したtestvar2自体を返さずtestvar1のみbbbとして返します ※c.php自体の中で echo $_COOKIE['testvar1'];すればcccを返します。また、c.phpのsetcookie();の返り値は1です ※また、b.phpの中でクッキーに入れる値を変更した場合はa.phpで変更後の値が確認出来ますが c.phpの中で値を変更しても上書きされません(c.phpの中での確認です) ドメインは全て同じで、原因が全くわかりません 何か考えられる対処法やチェック箇所あるでしょうか? 申し訳ないですが、どなたかご意見お願いします
- 863 名前:nobodyさん mailto:sage [2012/02/22(水) 19:09:47.20 ID:???]
- ブラウザを初期化する
- 864 名前:nobodyさん mailto:sage [2012/02/22(水) 19:28:43.76 ID:???]
- ありがとうございました!
- 865 名前:nobodyさん mailto:sage [2012/02/22(水) 19:35:22.61 ID:???]
- 最近は、ID出さなくても答えて貰える様になったのか。
これがゆとりか。
- 866 名前:nobodyさん mailto:sage [2012/02/22(水) 19:44:07.26 ID:???]
- ID指摘したかったら、回答しつつ、ID出すように促せよ。
IDID言うやつ、回答しないんだよな。
- 867 名前:nobodyさん mailto:sage [2012/02/22(水) 19:46:05.87 ID:???]
- >>1
- 868 名前:nobodyさん mailto:sage [2012/02/22(水) 19:46:44.23 ID:???]
- 昨日のチェリーボーイが居ますね
- 869 名前:862 [2012/02/22(水) 20:41:14.26 ID:culdIBNJ]
- すみません、今気づきましたID出してなかったです。すみませんでした
その後もブラウザ再起動などしてやったんですが やはりc.phpでsetcookie();した値はc.php以外で確認出来ません なんなんでしょうか?
- 870 名前:nobodyさん mailto:sage [2012/02/22(水) 20:44:30.18 ID:???]
- >>869
問題が再現するコード出して
- 871 名前:nobodyさん mailto:sage [2012/02/22(水) 20:50:21.88 ID:???]
- >>869
たぶんpath
- 872 名前:nobodyさん mailto:sage [2012/02/22(水) 21:49:26.94 ID:???]
- HTTPのヘッダも確認してみれば
- 873 名前:nobodyさん mailto:sage [2012/02/22(水) 22:14:17.30 ID:???]
- fastcgiの動作確認なのですが
php-cgi -b 127.0.0.1:9000 & として telnet 127.0.0.1 9000 とかでなんか叩いて動作チェックって出来るものでしょうか?
- 874 名前:862 [2012/02/22(水) 22:42:10.50 ID:culdIBNJ]
- >>870-872
その後、全てのsetcookie()を setcookie('time', date('Y-m-d H:i:s'), 0, '/', 'example.com');として 有効時間、パス、ドメインを指定したところ解決しました 質問して良かったです、助かりました 本当にありがとうございました
- 875 名前:nobodyさん mailto:sage [2012/02/22(水) 22:51:44.23 ID:???]
- いいってことよ
- 876 名前:nobodyさん mailto:sage [2012/02/22(水) 22:55:02.14 ID:???]
- ほい
- 877 名前:nobodyさん [2012/02/22(水) 23:24:44.58 ID:qmf6D6+H]
- get_included_files()に含まれてないファイルがrequire_onceで読み込まれないんですが、
原因としては何が考えられますか?
|

|