【PHP】下らねぇ質問はID出して書き込みやがれ 126
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2013/02/02(土) 21:41:08.72ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 125
http://kohada.2ch.net/test/read.cgi/php/1357738303/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0412407
2013/02/26(火) 16:28:09.70ID:WtFsOe6T借りているサーバーなのでtcpdumpが出来ないです、
100件程度だとリクエストが返ってきてる事は確認できました。
0413nobodyさん
2013/02/26(火) 16:38:18.56ID:???擬似環境を手元に作るのがいいよ。というか、外部のサーバでそんな怪しげなことやっていいの
0414nobodyさん
2013/02/26(火) 16:39:16.30ID:???0415407
2013/02/26(火) 17:57:33.12ID:WtFsOe6T>怪しげな
一応許可はもらってるはずですが、言われている通りに
プログラムしているだけなのでわかりません。
>>414
その計算方法がわかりません。
1件当たりのリクエストは1kもないと思います。
0416nobodyさん
2013/02/26(火) 18:08:56.68ID:???0417nobodyさん
2013/02/26(火) 18:12:16.02ID:???0418407
2013/02/26(火) 18:20:13.24ID:WtFsOe6TIPv4 の TCP 統計
アクティブ オープン = 114
パッシブ オープン数 = 2
失敗した接続試行数 = 73
リセットされた接続 = 7
現在の接続 = 21
受信したセグメント = 1017
送信したセグメント = 742
再送信されたセグメント = 152
IPv4 の TCP 統計
アクティブ オープン = 2216
パッシブ オープン数 = 5
失敗した接続試行数 = 540
リセットされた接続 = 103
現在の接続 = 212
受信したセグメント = 14062
送信したセグメント = 14970
再送信されたセグメント = 6287
0419407
2013/02/26(火) 18:20:43.43ID:WtFsOe6T0420nobodyさん
2013/02/26(火) 18:22:53.34ID:???経過をログに出すようにしてみたら
0421407
2013/02/26(火) 18:27:43.04ID:WtFsOe6Tcurlでログを出すとしたら受信データそのまま出すことに
なりませんでしょうか?調べてみます。
前回は10000sec動かしても終わりませんでした。
件数が少ないと動いているので、無限ループはないと思いますが。
0422nobodyさん
2013/02/26(火) 18:30:27.53ID:???0423407
2013/02/26(火) 18:35:17.54ID:WtFsOe6Tなるほどですね。試してみます。
今出ている要件はこの10倍の件数を1度に処理して
欲しいと事です、まいりました。
0424407
2013/02/26(火) 18:49:49.81ID:WtFsOe6T返答した頂いた方々、ありがとうございました。
0425nobodyさん
2013/02/26(火) 19:18:07.57ID:???リクエストの送信タイミングをほぼ同じにしたいとかあんのかな。
0426nobodyさん
2013/02/26(火) 20:33:20.01ID:???やっぱ、派生した異なるファイルのインスタンスでは共有されないのか。
そうか、クラス名が変わるからか!
0427nobodyさん
2013/02/26(火) 20:35:17.51ID:???0428nobodyさん
2013/02/26(火) 20:45:41.97ID:???0430nobodyさん
2013/02/26(火) 21:13:51.58ID:???↓こんなコードなんですが、アドバイスお願いします!
http://codepad.org/BSv0axet
0431nobodyさん
2013/02/26(火) 21:17:34.07ID:???fooとbarでhogeのstatic変数$touchを共有したいのですが、
方法はありますか?
0432nobodyさん
2013/02/26(火) 21:53:37.14ID:bJMiHUyQこの$noを数字か判定する関数ってなんでしたっけ?
0433nobodyさん
2013/02/26(火) 21:56:42.16ID:???0434nobodyさん
2013/02/26(火) 22:20:30.73ID:XMFJPtNA【PHPのバージョン】5.3
【連携ソフトウェア】sqlite
【質問内容】
アクセス解析を行いたいのですが、
sqliteにどのようなデータを入れたらよいのか助言をいただきたいです。
単純にアクセス元と時間だけでもよいのですが、
長いスパンで数千万アクセスあるとsqlite内にかなりデータがたまってしまうと思うのですが、
問題ないのでしょうか?
何かアクセス解析で一般的なデータの入れ方などないのでしょうか?
0435nobodyさん
2013/02/26(火) 22:37:44.05ID:???普通にwebalizerあたりを使ってみて、
足りないところを足したり、要らんとこを端折ったり
0436nobodyさん
2013/02/26(火) 22:44:14.28ID:???http://codepad.org/8dsXbgA0
どういうことなんだろね。
ちなみに>>366とは違う人?
0437nobodyさん
2013/02/26(火) 22:50:05.70ID:KXtCVoKY同じ人です。
0438nobodyさん
2013/02/26(火) 22:52:15.21ID:???>>366の件は解決でよい?
>>430と>>431の違いについてはこれからちょっと調べてみる。
何も書かないと継承先にコピーが作られてるような雰囲気だよね。
0439nobodyさん
2013/02/26(火) 22:52:55.48ID:KXtCVoKYいわゆるオーバーライドってやつですね。
それは知ってますが、それだと、基底クラスで定義する意味がなくなっちゃうんですよね、、、
0440nobodyさん
2013/02/26(火) 22:56:27.14ID:KXtCVoKYあ、すいません、最初は困ったんですけど、よくよく考えたら便利だと気付いたんです。
0441nobodyさん
2013/02/26(火) 22:56:34.27ID:???知ってるなら教えてください
0442434
2013/02/26(火) 23:05:02.77ID:XMFJPtNA助言ありがとうございます。
Webalizerというものを調べてみたのですが、
apacheのログを解析するもののようで、
アクセス元を集計するというものよりはログ表示用のソフトという感じなのでしょうか?
言葉足らずで申し訳ないのですが、
レンタルサーバでサーバの一部分を使用しているものですから、
うまく使用できないのではと思ったのですがいかがでしょうか?
sqlite内に数千万のデータができてしまった時に問題ないかどうかを知りたいのですが、
どなたか助言いただけないでしょうか?
0443nobodyさん
2013/02/26(火) 23:51:37.32ID:KXtCVoKYthx!
0444nobodyさん
2013/02/27(水) 00:32:28.07ID:???0445nobodyさん
2013/02/27(水) 12:10:25.16ID:???生ログをそのまま保存すると数十万でも重く感じる。
だから一定周期で集計して、
管理画面などでは集計後のデータを表示するんだよ。
0446434
2013/02/27(水) 14:25:13.61ID:6JQheFYlやっぱりそうなんですね
アクセスごとに生ログを保存しつつ、
cronなどで集計するイメージでしょうか
参考になりました。
ありがとうございました。
0447nobodyさん
2013/02/27(水) 18:02:57.95ID:PEaEofv4$hoge = new self()
self()ってどういうことなんでしょうか
そのクラス自身をインスタンス化するってことなんでしょうか?
0448nobodyさん
2013/02/27(水) 18:15:09.30ID:???0450nobodyさん
2013/02/27(水) 18:22:01.15ID:???0452nobodyさん
2013/02/27(水) 18:49:12.26ID:???普通そんな名前つけないけど
0453nobodyさん
2013/02/27(水) 18:50:46.42ID:???0454447
2013/02/27(水) 18:52:14.18ID:PEaEofv4__constructでの記述ではなくて、わざわざnew self();にする理由はなんでしょうか
理解できてないソース
private static $_instance = null;
public static function getInstance() {
if (self::$_instance === null) {
self::$_instance = new self();
}
return self::$_instance;
}
selfってクラスはないです
PHPリファレンスにも同じような記述はあるのですが、解説もないのでわからないです
0455nobodyさん
2013/02/27(水) 19:09:42.92ID:???自分自身のインスタンスのインスタンスを作ってるだけ。
0456nobodyさん
2013/02/27(水) 19:10:20.67ID:???一個消してください・・・
0457nobodyさん
2013/02/27(水) 19:11:38.14ID:???0458nobodyさん
2013/02/27(水) 19:13:33.51ID:???普通は new Hoge()って書くんだよ
self()なんてPHPルール覚えたらだめ
0459447
2013/02/27(水) 19:37:18.12ID:PEaEofv4呼び出されたときに初回に自動的にそのクラス自体をインスタンス化するってことであってますか?
インスタンス化しなくても呼び出せる静的メソッドにしておいて、
静的メソッドを呼び出した際に、自動的にインスタンス化できるから
__constructを使わずに上記方法を使ってるってところでしょうか?
0460nobodyさん
2013/02/27(水) 19:47:05.26ID:???0461nobodyさん
2013/02/27(水) 20:28:55.66ID:???派生クラスのコンストラクタから基底クラスのコンストラクタを呼び出したいときなどには明示するよ。
あと、用途にもよるけど new static にするといい場面もあるよ。違いは調べてみてね。
>>458
なにそのクソ規約。
コンストラクタ名も__constructじゃなくてクラス名で書いてそうだね。
0462nobodyさん
2013/02/27(水) 20:33:54.10ID:???0463nobodyさん
2013/02/27(水) 20:37:37.90ID:???0464nobodyさん
2013/02/27(水) 20:46:11.11ID:???0465nobodyさん
2013/02/27(水) 21:14:05.24ID:???0466nobodyさん
2013/02/27(水) 21:50:51.34ID:???0467nobodyさん
2013/02/27(水) 22:10:36.17ID:???0468nobodyさん
2013/02/27(水) 22:15:43.19ID:???0469nobodyさん
2013/02/27(水) 22:27:04.15ID:???それを明示的にコールするっておかしくない?
initializeとか別メソッド作ってそっちを呼ぶならまだしも
0470nobodyさん
2013/02/27(水) 22:30:43.83ID:???0471nobodyさん
2013/02/27(水) 22:32:21.24ID:???0472nobodyさん
2013/02/27(水) 22:35:50.71ID:???http://ideone.com
0474nobodyさん
2013/02/27(水) 22:39:17.90ID:???>派生クラスのコンストラクタから基底クラスのコンストラクタを呼び出したいときなどには明示するよ。
これが分からん
0475nobodyさん
2013/02/27(水) 22:43:25.08ID:???通常暗黙に呼び出されるけど、基底クラスのコンストラクタを呼ぶときは__constructって関数名を使うよって話
0476nobodyさん
2013/02/27(水) 22:58:34.67ID:???道理で話が読めないわけだ
0477nobodyさん
2013/02/27(水) 23:01:00.00ID:???これは new self()と__constructの区別がはっきりしてない初心者だからこそじゃないの
んで、関連して>>458や>>463みたいなわけ分からん人が出てきた。
多重継承のある言語とは状況が違うんだけどそこを混同してんのかなぁとは思うけど
0478nobodyさん
2013/02/27(水) 23:08:25.38ID:???new演算子と、 コンストラクタはまったく別の概念。
コンストラクタなんて、なくてもいいんだぞ。
0479nobodyさん
2013/02/27(水) 23:10:02.86ID:???たぶんあなたが一番理解してない
あのコードの前には
private function __construct()
があるはずで
そこにself::$_instance = new self();を記述しないのはなぜかと聞いてるんだよ
0480nobodyさん
2013/02/27(水) 23:16:51.48ID:???>selfってクラスはないです
>PHPリファレンスにも同じような記述はあるのですが、解説もないのでわからないです
↓
>>458(ただし質問者に意味がわかるかは不明)
>なにそのクソ規約。
>コンストラクタ名も__constructじゃなくてクラス名で書いてそうだね。
↓
>>463
0481nobodyさん
2013/02/27(水) 23:18:22.20ID:???ごめんなさい。
>>459
うん、それに加えて、クラス自身にインスタンスを管理させることで、
インスタンスをひとつに制限する目的があるコードです。
>>478
それは暴論。コンストラクタを記述するかしないかで挙動が変わる場面はある。
>>479
そうなのかもね。
0482nobodyさん
2013/02/27(水) 23:27:31.43ID:???コンストラクタのないクラス想像すればいいんだよ。
new -> コンストラクタ みたいな話してるから、
インスタンスの生成に必須ではないコンストラクタの話で混乱してんだよ。
0483nobodyさん
2013/02/27(水) 23:33:32.60ID:???0484nobodyさん
2013/02/27(水) 23:35:22.96ID:???必須ではないというが、空のpublicコンストラクタの有無で挙動が変わる場面があることを
伝える必要はないのか
0485nobodyさん
2013/02/27(水) 23:36:19.11ID:???new self()が何をするものなのかが分からなかったんじゃない?
シングルトンを知っていれば予想はついたと思うけど、それも知らなかったのだろう。
0486nobodyさん
2013/02/27(水) 23:38:57.60ID:???0487nobodyさん
2013/02/27(水) 23:41:21.10ID:???質問者無視していろいろやってもあんまり意味ないからあれだけどさ、
無くてもいいと分かれば分かるもんがあるかもと思っただけだよ。
0489nobodyさん
2013/02/27(水) 23:52:19.04ID:???人それぞれだろ?
PHPでいちいちthisつけたりselfとかわけわからんのがあったり、
マジックメソッドだの、オーバーロードの意味が違うだの、
PHPルールが存在しても、それを把握するのは簡単だから、
PHP流の書き方を覚えるもよし、他言語に応用可能な書き方を覚えるもよし。
0490407
2013/02/28(木) 09:39:59.00ID:ZLVdVzup0491nobodyさん
2013/02/28(木) 09:50:31.67ID:???0492407
2013/02/28(木) 13:37:48.81ID:ZLVdVzupcurlで複数サイトのヘッダー情報を取得しているのですが
Aサーバー(レンタル)→エラー(Empty reply from server:リクエストが空です)
Bサーバー(ローカル)→取得できる
AでもBでもagentを送っています。差異はないはずです。
Empty reply from serverが発生する原因を教えていただけないでしょうか?
0493407
2013/02/28(木) 13:39:08.82ID:ZLVdVzupBサーバー(ローカル)では大抵取れてきます。
0494nobodyさん
2013/02/28(木) 13:46:22.44ID:???0495407
2013/02/28(木) 15:31:21.58ID:ZLVdVzupアクセス拒否でもAサーバーとBサーバーで違いが出るものですか?
特定のサーバーに対してヘッダー情報すら返さない事ってありえるのでしょうか?
0496nobodyさん
2013/02/28(木) 15:39:33.47ID:???シェル使えないのかな、そこ
0498407
2013/02/28(木) 16:03:20.32ID:???phpのcurlで繋いでいます。
>>497
リクエストが空のものは対象外として仕様扱いにしてもらう
事にしました。
ですが、そういうサイトからリクエストを返してもらう方法が
無いか調べてみます。
ありがとうございました。
0500407
2013/02/28(木) 16:30:09.79ID:???phpのcurlは今回初めて使っています。
CURLOPT_PORTは設定していないのでデフォルトで80になっています。
0501nobodyさん
2013/02/28(木) 16:52:29.73ID:???0502407
2013/02/28(木) 17:25:30.23ID:???javaならどう余裕なのでしょうか?
やった事ないですが、javaとc++とc#、.net、objective-cと大抵の言語は使えます。
0503nobodyさん
2013/02/28(木) 17:26:46.19ID:???DoSと勘違いされるような行為はしてないよね
0504nobodyさん
2013/02/28(木) 17:33:44.82ID:???0505nobodyさん
2013/02/28(木) 17:36:16.62ID:???サイトへ同時に接続できる数に制限がある。
それにファイルオープンとも関係しているはずでC言語を直に使っても
ファイルやサイトへのコネクションの総数は127以下までとか決まっている。
0506407
2013/02/28(木) 17:36:39.27ID:???ログに目新しいエラーはなかったです。
ここに貼り付けるのは確認がいるのでやめときます。すいません。
timeout設定していないので内部で何度もアクセスを繰り返している
可能性はありますね。
そういうサイトは対象外で扱うことにしました。
ありがとうございました。
0507nobodyさん
2013/02/28(木) 17:39:52.93ID:???プロバイダがP2Pと勘違いして規制することがあるらしい。
しかも規制されているのかどうかもよくわからないようにするために
コネクションを接続するわけでも切断するわけでもないらしい。
0508nobodyさん
2013/02/28(木) 17:41:18.71ID:???0511nobodyさん
2013/02/28(木) 17:52:18.40ID:???■ このスレッドは過去ログ倉庫に格納されています