【PHP】下らねぇ質問はここに書き込みやがれ 70
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/06/25(水) 10:14:08ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは970が立ててください立たなかった場合は980よろ
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 69
http://pc11.2ch.net/test/read.cgi/php/1211879073/
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。
◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくは質問時のトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0362358
2008/07/05(土) 13:01:14ID:oP1dT0fTありがとうございます。
参考にします。
0363nobodyさん
2008/07/05(土) 13:06:33ID:???0364nobodyさん
2008/07/05(土) 16:40:16ID:7nNiVjXj言葉が足りていても、私の時には全然回答もしてくれませんでしたが。
Apache複数起動で悩んでいる中年SEより。
0365nobodyさん
2008/07/05(土) 16:50:08ID:???0366nobodyさん
2008/07/05(土) 16:50:15ID:???回答あるだろ
0367nobodyさん
2008/07/05(土) 16:52:18ID:???0369nobodyさん
2008/07/05(土) 17:05:28ID:???たとえ2つPHP実行しても速くならないよ。
玉子焼き1000個同時に焼いても1秒で焼けない。1個と同じ時間かかる。
0370nobodyさん
2008/07/05(土) 17:05:53ID:???同一サーバーでの複数起動って意味だよね?何かあるんだろうか。
それとも日本語が不自由で考えてることをちゃんと文章化できていないのか。
てか、どっちにしろPHPとはまったく関係ないからスレ違いになるのか・・・
0371nobodyさん
2008/07/05(土) 17:09:04ID:???0372nobodyさん
2008/07/05(土) 17:13:56ID:7nNiVjXjスクリプトAは、2000行以上ありますが、0.1秒程度で終わりますが、
スクリプトBは、400行しかないのに、10秒前後もかかります。
そのことから、スクリプトAを80番ポートで動かし、
スクリプトBを10分割して、81〜90番ポートで動かせば1秒で終了するという見積もりです。
ただ、やり方がよくわかりません。
スクリプトBが遅いのも原因不明です。
phpがインタプリタ言語だから遅いって言ってしまえばそれまでですが、
だからといって10秒は遅すぎます。
負荷分散する方法としてこれ以外に思いつきません。
0373nobodyさん
2008/07/05(土) 17:16:26ID:7nNiVjXj平行処理ができると聞いています。phpの中だけで並行処理ができる方法があれば、それを教えて頂く方が簡単ですが。
0374nobodyさん
2008/07/05(土) 17:16:51ID:???0375nobodyさん
2008/07/05(土) 17:19:32ID:???ざっくり400行じゃなくて、遅い箇所があるとおもうけど。
0376nobodyさん
2008/07/05(土) 17:24:01ID:7nNiVjXjデータを取得して更新して、取得したデータをスクリプトBに返す処理しかやっていません。
MySQLは、処理速度が速いデーターベースと聞いておりますし、
それ以外では、文字列を編集する処理をやっていますが、それはデータベースにデータを渡す際の
エスケープ処理です。ソース全体を呼んでみましたが、特に遅いと思われる箇所もありませんでした。
0377nobodyさん
2008/07/05(土) 17:28:11ID:???0378nobodyさん
2008/07/05(土) 17:30:44ID:???とりあえずさぁ、そのスクリプトに時間計測するコードを入れて、
一番遅い所を一行に絞って、そのコードをココに貼ればわかるよ。
0379nobodyさん
2008/07/05(土) 17:42:07ID:???phpはインタプリタ言語だから遅くても仕方ないと
納得する発想がPGとしてありえないってw
てか最初からずっと同じこと言われてるじゃん。少しは質問の仕方も進歩してくれ。
0380nobodyさん
2008/07/05(土) 17:52:45ID:???キモイ。
0381nobodyさん
2008/07/05(土) 17:54:33ID:???マルチスレッドが知りたいのなら、「PHP マルチスレッド」でググリなよ。
ここで説明するより分かり易いところがいくつか見つかるよ。
Apache複数起動とかポートがどうとか、
PHPとは関係ないことを言うから、スレ違い、ネタだと判断されたんだよ。
「マルチスレッドを利用する方法を知りたい」だけでいいじゃん。
0382nobodyさん
2008/07/05(土) 18:04:06ID:???0383nobodyさん
2008/07/05(土) 18:05:40ID:???できない事はできないって言うのも仕事の内ですぜ
0384nobodyさん
2008/07/05(土) 18:06:06ID:???> データを取得して更新して、取得したデータをスクリプトBに返す処理しかやっていません。
えーと、ウェブアプリに限らずほとんどの処理は
データを取得して、更新して、取得したデータを何かに渡す物ですが?
その処理の内容で遅くないと判断できるわけが無いよね?
いいか、あんたがヘボだから、あんたが作ったソフトが重いんだ。
技術不足なんだよ。あんたは。
0385nobodyさん
2008/07/05(土) 18:12:56ID:???君には難しいことを言ってもわからないと思うから
技術者じゃなくてもわかることを聞くねw
サーバー費は月いくらかかってる?
0386nobodyさん
2008/07/05(土) 18:19:34ID:???0387nobodyさん
2008/07/05(土) 18:20:04ID:???できないって最初から言ってるのにどんどん小難しい案件が舞い込んできます。
当然やりますが。でも出来ませんっていつも言います。
0388nobodyさん
2008/07/05(土) 18:28:07ID:???でもDBサーバが先に悲鳴をあげるだろうから
レプリケーションもやっとけ
0391nobodyさん
2008/07/05(土) 18:55:18ID:???print"で<a href=〜>〜</a>
で、リンク生成は出来るんだが、
0392nobodyさん
2008/07/05(土) 18:58:30ID:???ここのページの様にフォームに入力してからボタンを押すと、各検索エンジンに飛ばしたいんだけど。
0393nobodyさん
2008/07/05(土) 19:00:32ID:???任せて自分はちょっとピンハネの方が顧客も自分も幸せだと思うぞ。
現在の技術うんぬんよりも、解決方法にたどり着く術が間違っているから。
0395nobodyさん
2008/07/05(土) 19:23:08ID:???0397nobodyさん
2008/07/05(土) 20:57:26ID:???0399nobodyさん
2008/07/05(土) 21:18:45ID:???0400nobodyさん
2008/07/05(土) 21:26:54ID:???なんだかPHPじゃなくてHTMLのformとinputの使い方の質問ぽい気がするんだが。
まあ俺には難しくてわかんないや。
>>398
わからないがあまり教えてほしいとは思わなかった。
0402nobodyさん
2008/07/05(土) 21:44:22ID:???>それです。
>HTMLとphpの組み合わせは対象外でしょうか?
え??
ごめん、あなたの質問は難しくて俺にも理解できないや
0403nobodyさん
2008/07/05(土) 21:45:19ID:???ここをよく読んでごらん
ttp://www.google.co.jp/intl/ja/searchcode.html
0404nobodyさん
2008/07/05(土) 21:45:21ID:???それコピペしてHTMLに貼っとけや
0405nobodyさん
2008/07/05(土) 21:45:38ID:???自分のサイトのフォームから外部検索エンジンで検索したいってことだから、
phpの範囲に含めても問題ないと思う。
ただ、検索サイトを見に行けばいいだけなのに
わざわざここで質問する意味もわからんが。
まぁ、>>394が答えを出してるから終了した質問だな。
0406nobodyさん
2008/07/05(土) 21:52:36ID:7nNiVjXj一つ一つコードを時間計測しましたが、
時間がかかっているところは、参照用のSQLを発行してデータを戻す関数が原因だとわかりました。
$rs = mysql_query($sql, $dblink);
このmysql_queryの実行だけに10秒かかっています。
ただ、これでは並行処理ができません。
mysql_queryを速くする方法はありますか?
0408nobodyさん
2008/07/05(土) 22:08:14ID:???その$sqlの文字列の中身が悪いんだろw
0409nobodyさん
2008/07/05(土) 22:09:26ID:???SQLのスレに逝ってください。ここにはもうレスしなくていいです。
誰も答えませんから。
0410nobodyさん
2008/07/05(土) 22:18:23ID:???Webシステムの経験が足りないんだから焦っても上手くいかないよ
基礎からちゃんと学んだほうがいいよ
それから質問者なんだから立場をわきまえて嫌味とか言わないようにね。社会でやってけないよ。
0411nobodyさん
2008/07/05(土) 22:24:03ID:???最初から意味無いって応え出て(馬鹿にして)たじゃん。
判りにくくて無視したのかもしれないが>>324が良回答だよ。
0412nobodyさん
2008/07/05(土) 22:25:31ID:???・mysqlデータベースのチューニング
・mysqlサーバを別のマシンに移す
解決手順
・他社に依頼
0413nobodyさん
2008/07/05(土) 22:36:20ID:???0414nobodyさん
2008/07/05(土) 22:46:55ID:7nNiVjXjMYSQLは今回初めてなので、よくわかりません。
通常は、DBチームがSQL文を作成したりDAOを作成するため、関与しないのですが、
今回は予算の関係で人が足りず、一人で作りました。
とりあえず、クライアントには、導入したMySQLの性能に問題があるということで理解を得たいと思います。
選定の際に、導入コストが安いMySQLを選んだクライアント側にも責任の一端はあるわけですから。
ここのスレは役に立つ情報も有ると思いますが、
雑音が多くて、せっかくの情報が埋もれてしまうのが残念です。
何かと問題が多い2chですから、それを承知で投稿させて頂きましたが、
使い方次第ですね。
とりあえず、感謝の気持ちは表しておきます。
ありがとうございました。
0416nobodyさん
2008/07/05(土) 22:53:13ID:???0418nobodyさん
2008/07/05(土) 22:55:35ID:???同僚でこんなのいたら最悪だなwww
0419nobodyさん
2008/07/05(土) 22:56:48ID:???0420nobodyさん
2008/07/05(土) 23:21:24ID:???0421nobodyさん
2008/07/05(土) 23:22:50ID:???0422nobodyさん
2008/07/05(土) 23:27:55ID:???0423nobodyさん
2008/07/05(土) 23:28:37ID:f4JIQhYU上記のとき、カラム名を [`]で囲む必要はあるのでしょうか?
[`]をつけないとエラーになるときがあり、その理由がわかりません。
0425nobodyさん
2008/07/05(土) 23:35:49ID:T4jgJP6eフォームの流れを、「入力→確認→完了」としているのですが、
画像を確認する為に、一度ファイルをアップロードして
確認画面で問題なければ正規のディレクトリに移動させています。
おそらく大多数の方がこのような確認方法をとっているのかと思いますが、
一度ファイルをアップロードして、再度ファイルをアップロードし直す時、
古いファイルが残ってしまいます。
これも一定時間置きに、確認ディレクトリ内を削除すると思うのですが、
どうも非効率だと思います。
そこで質問ですが、上記の方法以外にアップロードしたい画像を
確認する方法はないでしょうか?
0426nobodyさん
2008/07/05(土) 23:56:01ID:???回答に必要な情報が足りない。
$sql
$dblink
それぞれの内容及びdbのtable構成、レコード数
それ位は最低限必要。
0428nobodyさん
2008/07/06(日) 00:03:46ID:???DB板のMySQLのスレでDB構造とどんな感じのSQL発行してるか書いてみ
あとループ内で数1000件のSQL発行してるとかは無いよね?
DBチームが居てあまりSQLに精通してないなら
悲惨なSQLやDB構造になってる可能性が高い
0429nobodyさん
2008/07/06(日) 00:07:02ID:???0430nobodyさん
2008/07/06(日) 00:08:22ID:???同一人物がアップしてできるテンポラリのファイル名を
固定しちゃえば?
まぁどっちにしろゴミファイルを削除しないとだけど
0431nobodyさん
2008/07/06(日) 00:17:16ID:???セッションと組み合わせて、セッションがGCされるタイミングで
同じくコレクションするしかないんじゃないかな。
0432nobodyさん
2008/07/06(日) 00:27:04ID:???俺だと、tmpファイルか否かと、tmpファイルのライフタイムが分かるのを前提にして、
次回処理時にtmpディレクトリを走査していらないファイルは消すだな
0433nobodyさん
2008/07/06(日) 01:32:55ID:???を消すってやり方してるじょ。ちんぽちんぽ
0434nobodyさん
2008/07/06(日) 04:11:06ID:???10秒は異常。よくある話だけどね。
どんな遅くたって1秒以内に返るようにすることはできるが
キミがそのスキルが無いんじゃ無理かも。
普通に金取るならそんな問題瞬時に解決できるよ。
0435nobodyさん
2008/07/06(日) 05:18:10ID:Uta9DmJUこれは、「,」があるところで分割していますが、2種の分割条件を設定したい場合は
どのようにしたらいいんでしょうか?
たとえば「きょう、はれ。あしたは、くもり。」とあった場合に、「、」「。」と両方で区切りそれぞれ
変数に格納したいのですが。。よろしくお願いいたします。
0436nobodyさん
2008/07/06(日) 05:37:40ID:???0438nobodyさん
2008/07/06(日) 09:01:51ID:???Array([0]=>きょう,[2]=>はれ,[3]=>あしたは,[4]=>くもり)
Array(
[0]=>Array([0]=>きょう,[1]=>はれ),
[1]=>Array([0]=>あしたは,[1]=>くもり)
)
0439nobodyさん
2008/07/06(日) 12:07:03ID:???[。]の場合は三点リーダー(…)の変換しそこね[ 。。。]があるから単純に分割すると予期せぬ動きが出る。
「今日は。。。はれ。あしたは、くもり。」
Array(
[0]=>Array([0]=>きょう,は),
[1]=>Array([0]=>null),
[2]=>Array([0]=>null),
[3]=>>Array[0]=>あしたは,[1]くもり)
)
こんな感じ。
このような問題に大して対処する必要はあるの?
0440nobodyさん
2008/07/06(日) 15:32:22ID:???Eclipseというコンパイラを使いたいのですが、
プロジェクトを作成する際、「メモリ不足」というエラーが出てしまいます。
メモリを足して1024までふやしても、同じです。
このコンパイラを使えるようにするために他にできることは何がありますか。
0441nobodyさん
2008/07/06(日) 15:33:52ID:u0xbCZgfEclipseというコンパイラを使いたいのですが、
プロジェクトを作成する際、「メモリ不足」というエラーが出てしまいます。
メモリを足して1024までふやしても、同じです。
このコンパイラを使えるようにするために他にできることは何がありますか。
0442nobodyさん
2008/07/06(日) 16:24:51ID:???0443nobodyさん
2008/07/06(日) 18:59:55ID:kCPlCvkdCPUとかも。
あと一度再インストールを実行しましょう。
0444nobodyさん
2008/07/06(日) 19:57:34ID:???とりあえず、例外が発生しない前提だったら
$a = split('、|。', "きょう、はれ。あしたは、くもり。");
でいいんじゃない。
splitは正規表現使えるわけですし。
0445nobodyさん
2008/07/06(日) 20:04:43ID:OiP9S+tKcoreserverでphpからsendmailを使おうとすると
error 127っていうのがでます。
↓のを参考にしてMail::factoryをつかったのですが
http://www.s-memo.net/blog/2007/03/pearmail_1.php
これはどうすれば解決するのですか?
0447nobodyさん
2008/07/06(日) 21:37:13ID:???何を使えばいけるんでしょうか。
0448nobodyさん
2008/07/06(日) 21:37:54ID:7trC5Wsc0451nobodyさん
2008/07/06(日) 23:19:34ID:???0452nobodyさん
2008/07/06(日) 23:51:55ID:???0453nobodyさん
2008/07/06(日) 23:54:30ID:OiP9S+tKsmtpになげたら成功しました。
ありがとうございます。
0454nobodyさん
2008/07/07(月) 03:13:50ID:v4RGtv07Linux(ubuntu7.1)、PHP5で動かしています。
$tst = "select";
if ( preg_match( "/[text|textarea|file|pass]$/i", $tst ) ) print "hit - {$tst}<br />\n";
このような正規表現を書いた場合に、真となり、hit - select と出力してしまうのですが何故でしょうか?
動作としては、
$tst = "text";
$tst = "textarea";
$tst = "file";
$tst = "pass";
の場合のみ、プリント文を出力させたいのです。
正常に出力されないので私が間違っているとは思うのですが、正規表現ドキュメントを見たり、このコードと睨めっこしても間違いに気づくことが
できませんでした。
お力添え頂ければ幸いです。
宜しくお願い致します。
0455nobodyさん
2008/07/07(月) 03:16:37ID:???0456454
2008/07/07(月) 03:31:08ID:???レスありがとうございます。
ぇっ・・・これってpreg_matchもしくはphp特有のケースでしょうか?
それとも正規表現における私の完全な勘違い?
試してみると期待通りの動作を確認しました。
とても感謝なのですが、何か頭の中でモヤモヤが。()ってパターンマッチ変数を格納する為の符号だと思っていました。
もしよろしければ少し説明もしくは該当箇所についてのサイト、ドキュメント等ありましたご紹介頂けないでしょうか。
度々申し訳ありません。
宜しくお願い致します。
0457nobodyさん
2008/07/07(月) 03:56:00ID:???0458nobodyさん
2008/07/07(月) 04:00:55ID:???[]の中に置かれた文字のいずれかにマッチします。
よくある勘違い
[^foo]bar という正規表現は、「fooではない文字列に続いてbarという文字列が続くもの」 ではありません。
「fでもoでもない文字に続いてbarという文字列が続いたもの」です。
[]で囲んだものが表しているのは文字列ではなく文字の集合(その中に含まれる/含まれない文字のどれか) だということに注意してください。
http://www.kt.rim.or.jp/~kbk/regex/regex.html
0460nobodyさん
2008/07/07(月) 04:26:31ID:???私の運用能力による所もありますが、
400日も連続して働いてくれるサーバーの部品たちに感謝。
すぐ切れる子供が多いというのに、サーバーは全く切れない。
幼児教育のネタにしてほしいと思う今日この頃です。
明日は、燃料高騰とサーバー運営費との関係性についてお話します。
■ このスレッドは過去ログ倉庫に格納されています