【PHP】下らねぇ質問はID出して書き込みやがれ 128
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2013/05/26(日) 23:01:58.78ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 127
http://kohada.2ch.net/test/read.cgi/php/1363698829/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0175nobodyさん
2013/06/06(木) 23:25:37.41ID:OEW8nkkiこれって巡回ロボットがリンクを踏んでもメールが飛ぶのでは?
防ぐにはどうしたらいいですか?
0177nobodyさん
2013/06/06(木) 23:48:00.87ID:???0178175
2013/06/07(金) 00:12:48.29ID:lPCuSr64ありがとう
0182nobodyさん
2013/06/07(金) 14:21:13.97ID:D2Zw9GnrOut of memory (allocated 1835008) (tried to allocate 2928480 bytes)
と出ました
php.iniでmemory_limitをかなり大きくしましたが、
エラーは変わらず、allocatedの数字も変わりません。
echo ini_get("memory_limit");
で確認すると、memory_limitの数値自体は変わっているのにです。
これはどういうことでしょうか?
0183nobodyさん
2013/06/07(金) 15:36:06.40ID:D2Zw9Gnrmemory limitを一定数以上にすると、逆に513Mくらいにされてしまうようです
その一定数は、1500Mあたりのようです(1600M以上にすると減った)
この限界は、変えられないのでしょうか?
使っているPHPは、windowsのCLI版です
0184nobodyさん
2013/06/07(金) 15:53:50.36ID:???> Out of memory (allocated 1835008) (tried to allocate 2928480 bytes)
このエラーメッセージって、1,835,008バイト(1.8MB)allocate済みで、2,928,480バイトアロケートしようとしたら
エラーになったっていう意味じゃないの?
なんで、1,5GBとかそんなでかい話になってるの?
0185nobodyさん
2013/06/07(金) 16:02:25.49ID:???そしてやっぱりmysqlにクエリ発行すると、数値は変わらずでしたorz
mysqlに割り当てている何かが少ないのか、あるいはmysql側の問題なのか・・・
0186nobodyさん
2013/06/07(金) 17:35:16.63ID:???それが悪かったようです
テンポラリテーブルに結果を入れるようなクエリにしたら、エラーがなくなりました
fetchする前からPHPが、
よく分からない値でout of memoryになる理由は分かりませんが
イレギュラーなクエリだからイレギュラーなエラーが出たのかも
0187nobodyさん
2013/06/07(金) 17:57:25.60ID:???0188nobodyさん
2013/06/07(金) 19:10:18.42ID:???0189nobodyさん
2013/06/07(金) 20:08:14.47ID:rbm1q+gx0190nobodyさん
2013/06/07(金) 22:20:00.64ID:???なんで一括でアロケートするのが前提になってるの?
PHPにおいて、連続領域を確保することのメリットはそこまで大きくないと思うんだけど
0191nobodyさん
2013/06/07(金) 23:59:41.64ID:E7ICkWcF0192nobodyさん
2013/06/09(日) 11:00:21.98ID:???0193nobodyさん
2013/06/11(火) 17:22:09.11ID:qhZ2PQ580194nobodyさん
2013/06/11(火) 20:38:32.92ID:???なにこれ?
0195nobodyさん
2013/06/11(火) 20:59:52.06ID:o3YW+0BJサイトにアクセスする全ユーザー間で共有されているのでしょうか?
0197195
2013/06/11(火) 21:23:09.89ID:o3YW+0BJもうちょっと調べたのですが、
コンパイル言語と違ってインタプリタ言語なので
ソースを毎回読んでる→毎回リセットされるのでユーザー間で共有されない
という認識であってますか?
0199197
2013/06/11(火) 21:37:42.46ID:o3YW+0BJ0200nobodyさん
2013/06/11(火) 21:51:48.69ID:sCzvZ2sj現在、ログイン機能を有するサイトをPHPとMySQLを使用して作成しています。
仕組みとしては、ログイン時にセッションIDとともにDBにユーザーIDと関連付けて保存するという形式をとっているのですが、
全てのページにおいてログインの状態を判別するために、ログイン判別処理用の関数を全てのページ内に含めています。
しかし、この様に全てのページにログイン判別の関数を含めると、phpの内部コードが非常に長くなり、見づらくなってしまいます。
このようなサイトの場合、include関数やrequire関数を用いて上記のような関数をライブラリ化をするのが一般的なのでしょうか?
それとも、全てのphpファイルにログイン判別用の関数を書くのが一般的なのでしょうか?
ログイン判別用のライブラリをそのまま公開ディレクトリに置いておくのはあまりにも危ないような気がして・・・。
他にもっと効率的な方法などがあれば、是非とも教えていただきたいです。
よろしくお願いいたします。
0201nobodyさん
2013/06/11(火) 21:52:25.43ID:???0202nobodyさん
2013/06/11(火) 22:19:37.12ID:???みんな同じようなことで悩んで、
そういった共通処理を枠組みとして提供するのがフレームワーク
PHPならCakePHP2、Symphony2、ZendFramework2、Yii、FuelPHP、
とか有名どころがたくさんある。
いい機会だと思うので是非どれか試してみて下さい。
0203200
2013/06/11(火) 23:03:58.32ID:sCzvZ2sjなるほど、PHPにも色々と便利なフレームワークがあるのですね。
ただ、今回はフレームワークは使用せず、自作の関数を使ってプログラムを組んでいきたいと考えています。
いずれはフレームワークの勉強もして、組み合わせていきたいですけどね。
ご教示いただき、ありがとうございました。
0204nobodyさん
2013/06/11(火) 23:28:41.88ID:???一般的にはどちらもせずにフレームワークを使う。
どちらが良いかってことになると普通は一ヶ所にまとめるだろjk
0205nobodyさん
2013/06/12(水) 10:23:36.00ID:???横だけど、初心者からすると、そのjkとなる理由が知りたい…
普通はっていう、その根拠となっている理由をおしえてください
0206nobodyさん
2013/06/12(水) 10:30:37.81ID:???0207nobodyさん
2013/06/12(水) 11:05:02.21ID:???もしもあなたが作ったプログラムが完璧で全く修正の余地がないのなら、
多少の記憶領域のコストと引き替えにしてでも、すべてのファイルに
同じソースを貼り付けて動作するようにすればいいでしょう。
なぜならファイルI/Oコストと演算コストを最小化できるからです。
しかしあなたが完璧なものを作ることが出来ない場合、
いつの日かプログラムの修正を余儀なくされるでしょう。
そしてあなたは完璧なものを作ることは恐らく出来ません。
それは歴史が証明しています。
きっとあなたが今完璧なものを作ったと信じている素晴らしいソフトウェアも、
第一線で活躍し続ける限り必ず修正を余儀なくされます。
プログラムの修正を迫る圧力は主にセキュリティ上の脅威の問題です。
そして、恐らくもっとも単純な例としてプログラム上のバグがあります。
さて未来のあなたに、今日完成したと信じて疑わないプログラムを修正する日がやってきます。
きっとそのときあなたは今の自分を恨むことでしょう。
「なんでこんなにあちこちに同じコードを張り付けてるんだ!」
と。
このように、同じコードをあちこちに貼り付けて作成したプログラムはかえって高く付くのです。
==================
という翻訳調の記事を一度ぐらい読んだことないか?
これは俺が適当に書いたやつだがw
0208nobodyさん
2013/06/12(水) 21:35:16.31ID:DIs4JrHlPHP5.2以下ってもうほとんどのサーバで使われてないんですか?
0209nobodyさん
2013/06/12(水) 21:46:45.66ID:???バージョンアップしてないところは多いと思う。
格安にかぎらずな。
0210nobodyさん
2013/06/12(水) 23:57:16.27ID:???しかたなく現状のままなのですよ。
0212nobodyさん
2013/06/13(木) 03:12:40.67ID:???5.2というよりPHP自体が使われなくなってきてる
レン鯖でもPHPをインストールしないポリシーのところが増えてきている
0213nobodyさん
2013/06/13(木) 06:00:37.94ID:YfwFYZMU5.5で非推奨ってあるのですが、これがないとMySQLで特殊文字がエスケープされなくて安心して眠れないよるが続きそうなんですが
0216nobodyさん
2013/06/13(木) 09:52:19.35ID:???Rubyとか言うほど綺麗でもないし、PHPでオブジェクティブに実装した方がマシ
0218nobodyさん
2013/06/13(木) 11:27:50.70ID:???0219nobodyさん
2013/06/13(木) 11:59:31.97ID:d6F8arzZものすごく下らない質問ですが、PHPを使ったWEBサイトを作るとき
そのサイトの全ての拡張子をPHP化しておいた方がよいでしょうか?
現在は一部だけしかプログラムが必要なページはありません。
html と PHPの拡張子が混在したサイトで構わないのでしょうか。
0220nobodyさん
2013/06/13(木) 12:01:11.77ID:???0221nobodyさん
2013/06/13(木) 12:03:55.80ID:d6F8arzZ素早い回答ありがとうございます。
くだらないことだと思うのですがものすごく悩んでたので大感謝です!
また、くだらない質問するかもしれませんがよろしくお願いします。
0222nobodyさん
2013/06/13(木) 15:21:20.98ID:3J7ktNc/0224nobodyさん
2013/06/13(木) 17:47:46.82ID:FfDvZGBp0225nobodyさん
2013/06/13(木) 18:15:42.06ID:???0226nobodyさん
2013/06/13(木) 18:23:54.50ID:???0227nobodyさん
2013/06/13(木) 18:29:08.38ID:???0228nobodyさん
2013/06/14(金) 03:38:51.82ID:QtFKp6t40229nobodyさん
2013/06/14(金) 03:58:37.06ID:???自分で数えてください
0230nobodyさん
2013/06/14(金) 13:18:20.63ID:???0231nobodyさん
2013/06/14(金) 13:58:52.56ID:???$email = htmlspecialchrs($_REQEST{'my_name'] , ENT_QUOTES) ;
を先にやっておくと、あとからhtmlspecialchrsを何回も書かないでいいみたいですが
同じページの
inputの value="<?php print htmlspecialchars($email, ENT_QUOTES); ?>" />
これもhtmlspecialcharsは書かなくてもいいんでしょうか?
0232nobodyさん
2013/06/14(金) 14:03:24.84ID:???0233nobodyさん
2013/06/14(金) 14:16:30.92ID:???0235nobodyさん
2013/06/14(金) 16:12:58.76ID:???0236nobodyさん
2013/06/14(金) 17:23:18.92ID:/kSo8dQAざっくりした質問ですみません
0237nobodyさん
2013/06/14(金) 17:31:23.05ID:???イテレータは、簡単に繰り返し処理を行えるようにするもの。
自分でコンテナを実装したときに、Iteratorインタフェースを実装すればforeach()とかが使えるようになる。
例えば、Queueクラスを実装したとき、Iteratorインタフェースを実装しなければforeach()などが使えない。
0238nobodyさん
2013/06/14(金) 18:00:07.35ID:???0239nobodyさん
2013/06/14(金) 21:35:30.79ID:D2IxfBS6イメージとしてはこんな感じです↓
for($j=0; $j<$num; $j++){
$a = $b[$j];
print <<< END_DOC
<script type="text/javascript">
var $c = <?php echo $a ?>;
kansu($c);
</script>
END_DOC;
}
↑上記で試しましたがうまくいきませんでした。
0241nobodyさん
2013/06/14(金) 21:41:17.01ID:???0243nobodyさん
2013/06/14(金) 22:49:59.04ID:???var c = $a;
0244nobodyさん
2013/06/14(金) 23:00:13.87ID:???0245nobodyさん
2013/06/14(金) 23:30:21.61ID:???kansu($a);
0246nobodyさん
2013/06/14(金) 23:31:11.80ID:???0247nobodyさん
2013/06/14(金) 23:31:33.06ID:???0248nobodyさん
2013/06/14(金) 23:31:55.56ID:???0249nobodyさん
2013/06/14(金) 23:43:11.60ID:???0250nobodyさん
2013/06/15(土) 11:23:04.75ID:J8J1CSeU1. その実行のみ
→同時アクセスしている利用者は影響を受けない。
2. PHPサーバー全体
→他ユーザーは影響を受ける。
教えてください。
0252250
2013/06/15(土) 18:43:48.47ID:J8J1CSeU【PHPのバージョン】5.4.16
です。
0253250
2013/06/15(土) 18:48:43.44ID:J8J1CSeU「php.iniを書き換えるのと同じ」
という意見が目立ちます。
同時にアクセスしている他ユーザーの影響を受けるということです。
そうした場合、例えば次のような問題が発生します。
致命的な問題のような気がします。
・日付関数を使用するためPHPファイルの頭でini_setでタイムゾーンを指定。
しかしいざ日付関数を使用する前に、他のユーザーの別アクセスで
タイムゾーンを書き換えられてしまう。
・Webアプリケーションごとに情報をini_setで設定したいが
全Webアプリケーションで共有されているため、個別設定できない。
0254nobodyさん
2013/06/15(土) 18:59:20.04ID:KOqiYb3aどこを調べたのか教えてください。
0255250
2013/06/15(土) 19:28:31.38ID:J8J1CSeUini_setで設定した値は loca value 扱いになるということがわかりました。
まだきちんと書かれた文章は探せてませんが、
local valueという名前から、スコープは1処理内と思います。
ですが、「ページの処理終了後に元の状態に戻されます」という記述がややこしいです。
元に戻す必要があるということは、
元に戻さなかったら他のユーザーに影響を与え続けるという風にも読み取れてしまいます。
0257250
2013/06/15(土) 19:35:17.23ID:J8J1CSeU↓
1. 次に自分(同一セッション)がアクセスしたときに影響を与えないため
2. 次に他人がアクセスしたときに影響を与えないため
1.の意味ならいいのですが、2.の意味だと
ini_setの値がサーバー全体で共有されていると取れる文脈なのです。
0258250
2013/06/15(土) 19:35:52.98ID:J8J1CSeU> 「Local Value」と「Master Value」の2種類が表示されます。
> これらの違いはマニュアルで明記されているわけではないのですが、
> 「Master Value」がphp.iniやhttpd.conf(PHP-FPMなら/etc/php-fpm.d/www.conf)の設定値、
> 「Local Value」が.htaccessやini_set()で設定した設定値となっているようです。p
なぜ明記されていない・・・。
>>253のように超重要な問題だと思うのですが。
0259nobodyさん
2013/06/15(土) 19:37:19.03ID:???0260259
2013/06/15(土) 19:40:20.53ID:J8J1CSeUではlocal valueのスコープについてきちんと書かれた文章を
提示していただけませんか?
0261nobodyさん
2013/06/15(土) 19:40:37.24ID:???0262250
2013/06/15(土) 19:46:19.09ID:J8J1CSeU>>261
あなたは(ini_setなどで)php.iniは書き換わらないとは言っていますが、
ini_setの値が他アクセスに影響を与えないことを提示していません。
罵声を浴びせるならしっかりと提示してください。
0263nobodyさん
2013/06/15(土) 19:52:32.86ID:???0264nobodyさん
2013/06/15(土) 20:27:53.94ID:???0265nobodyさん
2013/06/15(土) 23:15:50.49ID:???久しぶりに微笑ましいねw
0266nobodyさん
2013/06/16(日) 01:30:12.04ID:h8ga9m060267nobodyさん
2013/06/16(日) 01:32:43.43ID:???0268nobodyさん
2013/06/16(日) 04:08:43.22ID:???代替の関数は何ですか?
0269nobodyさん
2013/06/16(日) 04:09:14.02ID:uMOZ/qgp0272nobodyさん
2013/06/16(日) 16:42:14.77ID:???id出したら質問しなおした方がいいよw
0274nobodyさん
2013/06/16(日) 21:37:16.46ID:???■ このスレッドは過去ログ倉庫に格納されています