【PHP】下らねぇ質問はID出して書き込みやがれ 105
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2011/03/17(木) 04:00:34.11ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 104
http://hibari.2ch.net/test/read.cgi/php/1297669559/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0940。 ◆oDupeixhZv52
2011/04/28(木) 11:12:17.72ID:???0941923
2011/04/28(木) 11:40:12.72ID:zJffplQyexecは以下のような感じで記述しています。
よろしくお願いします。
exec('/usr/bin/php /home/fuga/batch.php arg1 arg2 >> /tmp/fuga.log 2>&1 &');
>>940
バッチを外部起動にしているのは、
バッチ処理が動いている間にクライアントを待ち状態にしないためになります。
includeにしちゃうと、バッチが終了するまで、
クライアントを待たせちゃうような気もするのですが、
そのことを「重くなる」と表現されているのでしょうか?
0942nobodyさん
2011/04/28(木) 11:40:14.61ID:???exec() を popen() で置き換えて何のエラーが返ってくるか調べてみたら?
どっちも同じコードを使ってプロセスを起動しているから
0943nobodyさん
2011/04/28(木) 12:22:05.15ID:5jyOsFLH長い行があり、
allowed memory size of〜と出ますが、
このエラー出ても後続の行を処理する方法はないですか?
0944nobodyさん
2011/04/28(木) 12:35:40.26ID:3JBHsj5i0945nobodyさん
2011/04/28(木) 12:36:58.15ID:zoh8QsmK結構お客さんに無茶ブリされてますわ
0946nobodyさん
2011/04/28(木) 12:47:53.59ID:???freadやfseekで改行位置探ればいいだけ
0947nobodyさん
2011/04/28(木) 13:51:44.39ID:???一行が1TBとかあったら大抵のシステムでエラーでるわw
0948nobodyさん
2011/04/28(木) 13:52:55.86ID:zoh8QsmKその1TBを読み込んでくれと言われてる状態
0950nobodyさん
2011/04/28(木) 14:03:09.70ID:???0951nobodyさん
2011/04/28(木) 14:07:56.13ID:???0952nobodyさん
2011/04/28(木) 14:22:34.75ID:???だから少しずつ読めばいいだろうが
while内でどんな処理をしたいのか知らんけど、
ファイル読み込みルーチンのアルゴリズムくらい自分で工夫しろよ
0953nobodyさん
2011/04/28(木) 15:25:16.41ID:???メモリに入りきらない長い行があるファイルって何さ?
whileで行ごとに処理とか言ったら、テキストっぽいけど……
テキストなら、一行で1TBもあるとか、
改行コード指定を間違ってるとしか
0954923
2011/04/28(木) 15:39:04.83ID:zJffplQypoepnを使ってエラーを再現してみたところ、
Cannot allocate memory
と表示されていました。
PHPのmemory_limitは512Mになっていたので
いったん無制限にしたところ、エラーがでなくなりました。
ただ、topコマンドで見る限り、
そもそも/usr/bin/php /home/fuga/batch.phpは
せいぜい数十MBしかメモリを消費しないので、
なんでメモリのエラーがでたのかが不明なのと、
オーナーがfugaに変わると、エラーが出ていたのかが
わかりません。
その上再度PHPのmemory_limitを512MBにしても
エラーを再現できなくなってしまいました。
Cannot allocate memoryっていうのも初めて見たので
memory_limitをいじることが正しかったのかといったところも
不安ではあります。
0955nobodyさん
2011/04/28(木) 15:47:57.12ID:???偶然memory_limitを変更したらエラーが出なくなったため、それが原因と思い込んでるとか。
オーナー変更云々もそう。
0956nobodyさん
2011/04/28(木) 16:15:01.84ID:???ttp://hibari.2ch.net/test/read.cgi/hp/1296016577/580-
0957923
2011/04/28(木) 16:23:23.51ID:zJffplQyそうですよね。
自分でも別のところに原因があるんじゃないかと
思いつつも、全く原因に思い当たる節が無いので
困っているところです。。。
今日はphp.iniの設定を変えたことで
apacheの再起動をしているんですが、
そのあたりも関係しているのかとか
考えているところです。
09581/2
2011/04/28(木) 16:27:36.11ID:6tXmcG0P$category = $_REQUEST["category"];
$no = $_REQUEST["no"];
?>
<html>
<head>
<title>sample02</title>
</head>
<body>
<?php
if($category == 1){
print "あなたはカテゴリー${category}にいます。<br>";
if($no == 1){
print "あなたはNO.${no}番のいいちこを選びました";
}
}
if($category == 2){
print "あなたはカテゴリー${category}にいます。<br>";
if($no == 2){
print "あなたはNO.${no}番の大五郎を選びました";
}
}
?>
<p><a href="parameter2.html">戻る</a></p>
</body>
</html>
(こちらを借りさせていただいてます)
ttp://plog.pya.jp/program/php/lesson09/sample02.html
09592/2
2011/04/28(木) 16:31:40.00ID:6tXmcG0Pカテゴリを増やしたいときに
if($category == 3){
print "あなたはカテゴリー${category}にいます。<br>";
……
とまた繰り返して書かずにすむ方法はありますか
うまく言えませんがお願いします
0960nobodyさん
2011/04/28(木) 16:38:18.85ID:6tXmcG0P++と繰り返し文でできる気がしました
今やってきますのでできなかったらまた来ます
すみませんでした
0961nobodyさん
2011/04/28(木) 17:19:54.77ID:6tXmcG0P$rs = mysql_query("select * from main where category_id = [あああ] order by count desc",$con);
「main」テーブルの中の「category_id」フィールドが1(,2,3…)のものだけ表示したいと思ってます
[あああ]の部分は++とか使えないと思うんですけど、どうしたらいいでしょうか
説明が下手ですみません
0962nobodyさん
2011/04/28(木) 17:21:09.14ID:???PHP関係ないけどね
0963nobodyさん
2011/04/28(木) 17:29:07.52ID:6tXmcG0Pありがとうございます!
またがんばってきます
0964nobodyさん
2011/04/28(木) 17:52:42.13ID:???それならただ単に$categoryを文字列につなげればいいだけだが
0965923
2011/04/28(木) 18:56:59.50ID:zJffplQyapacheの再起動を行ってから
エラーが再現できなくなりました。
それ以外の設定ファイルは何も触っていないので
apacheの再起動が関係しているのかな・・・と
勝手に思っているのですが、
そろそろお手上げになりそうです。。
ダメもとでも構いませんので
確認しておいたほうがいい所があれば
教えて頂けないでしょうか。
0966nobodyさん
2011/04/28(木) 21:52:27.46ID:???0967nobodyさん
2011/04/28(木) 22:03:15.85ID:cPVEaxySSNSサイトでログイン認証を行う場合に、ログイン画面だけはhttps、ログイン後はhttpというサイトがあったのですが、
これはどのような仕掛けで行っているのでしょうか。
認証画面に飛ばすサンプルはぐぐれば見つかりますが、その時に特に「httpsに飛ばせ!」のような記述は見当たりません。
どのようにして(誰が?)、このページはhttp、こっちのページはhttps、という選別(?)をしているのでしょうか。
0968nobodyさん
2011/04/28(木) 23:39:43.25ID:???ログインフォームのaction部分にhttps指定するだけ
その後httpsじゃない通信したければheader("Location: http://sample.com/");とかで移動させるだけ
0969nobodyさん
2011/04/28(木) 23:56:01.73ID:???httpsからhttpに移動しようとしてるけどいいのか?みたいな。
0970nobodyさん
2011/04/29(金) 00:12:47.61ID:84jXJbM/アクセスログを記録するときはファイルロックはしない
前者はロックしないと壊れる
後者は追記していくので壊れることは無い
こういう認識でいいでしょうか?
0972nobodyさん
2011/04/29(金) 00:33:35.34ID:???ロックする必要もない
0973nobodyさん
2011/04/29(金) 01:13:07.60ID:???名前取得と書き換えの間に次のプロセスで名前取得が起きた場合とか
0974nobodyさん
2011/04/29(金) 02:34:05.16ID:???ログを書くスレッドを一個用意すればいいよ
0975nobodyさん
2011/04/29(金) 06:05:06.91ID:???おお即レスありがとう。
やっぱり知ってれば単純な設定なんですね・・書くまでもないってことかぁ。
0976nobodyさん
2011/04/29(金) 10:48:59.87ID:???0977nobodyさん
2011/04/29(金) 13:07:02.38ID:???そのせいでgithubとかが全てhttpsになるように変えたと思うんだけど・・・
0979nobodyさん
2011/04/29(金) 14:36:33.70ID:???0980nobodyさん
2011/04/29(金) 16:09:37.61ID:???0981980
2011/04/29(金) 16:11:44.99ID:???だれかたのむ
0982nobodyさん
2011/04/29(金) 16:41:25.35ID:???0983nobodyさん
2011/04/29(金) 16:43:03.43ID:???ロックする必要もない
0984nobodyさん
2011/04/29(金) 16:43:43.17ID:???0985nobodyさん
2011/04/29(金) 16:44:10.89ID:???そういうもんとして受け入れるしかないだろ
0986nobodyさん
2011/04/29(金) 16:44:26.78ID:???0987nobodyさん
2011/04/29(金) 16:45:01.78ID:???0988nobodyさん
2011/04/29(金) 16:45:27.68ID:???PDOのがいいんですね
これからPDOを使うことにします
0989nobodyさん
2011/04/29(金) 16:46:42.57ID:???そして連投規制(笑)
0990nobodyさん
2011/04/29(金) 16:48:17.22ID:???0991nobodyさん
2011/04/29(金) 16:48:34.40ID:???ファイル名の変更は現実問題として無理なのでNGです。
0992nobodyさん
2011/04/29(金) 16:49:00.83ID:???0993nobodyさん
2011/04/29(金) 16:49:40.21ID:???0994nobodyさん
2011/04/29(金) 16:50:49.30ID:???0995nobodyさん
2011/04/29(金) 16:51:17.41ID:???0996nobodyさん
2011/04/29(金) 16:52:27.61ID:???0997nobodyさん
2011/04/29(金) 16:53:53.83ID:???0998nobodyさん
2011/04/29(金) 16:56:38.99ID:???0999nobodyさん
2011/04/29(金) 16:57:50.90ID:???1000nobodyさん
2011/04/29(金) 16:59:12.45ID:???まさかサブドメインにアンダーバー(_)が入っているとIEで使えないとか・・・。
いい勉強になりました
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。