PHP質問・雑談スレ【初心者お断り(ROM歓迎)】©5ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん 転載ダメ©2ch.net
2016/04/22(金) 08:58:11.47ID:???初心者お断り(ROM歓迎)と書いてますが、初心者用のスレが用意されているからで、
難しい質問や話題をしなければいけないわけではありません。
PHPマニュアルの読み方を概ね理解していて、関数リファレンスが正しく読める方用のスレです。
PHP未導入の方や、手取り足取りが必要な初心者の方はくだスレへどうぞ。
【PHP】下らねぇ質問はここに書き込みやがれ 4
http://echo.2ch.net/test/read.cgi/tech/1457792733/
その他リンク
・PHPマニュアル
https://secure.php.net/manual/ja/index.php
・コードテスト・貼り付け用
http://ideone.com/
・プログラミングのお題スレ Part8 (求PHPer参戦)
http://echo.2ch.net/test/read.cgi/tech/1444216746/
このスレで扱う話題
・PHPのコード,設定や設定値に関する質問
・常識的範囲内でのコードレビュー依頼・改良相談
・PECL,PEARに関する質問
・PHP新機能やPHP関連トレンドの話題
(FWや非公式ライブラリの話題や特徴比較は良いが使い方から先の話題は専スレへ)
・PHPのバグ発見報告・公式に報告する前の検証依頼
このスレで扱わない話題
・直接関係ない○○特有の質問(専スレへ)
(HH,エディタ,IDE,サーバ,OS,DB,SQL,FW,テンプレート,非公式ライブラリ・アプリケーション等)
・PHPの改造
0056nobodyさん
2016/05/02(月) 16:06:53.55ID:???ブラウザから情報貰えばもちろんサーバ側で処理の分岐はできるが、
PHPだからできる/できないという話ではない
0058nobodyさん
2016/05/02(月) 17:12:11.72ID:???0059nobodyさん
2016/05/03(火) 15:51:39.24ID:???0061nobodyさん
2016/05/04(水) 22:22:25.80ID:???人のせいにすんなクズ
0062nobodyさん
2016/05/05(木) 03:09:23.48ID:???0063nobodyさん
2016/05/05(木) 10:27:02.73ID:???0064nobodyさん
2016/05/07(土) 20:09:13.75ID:???0065nobodyさん
2016/05/07(土) 22:51:52.05ID:???0066nobodyさん
2016/05/08(日) 11:09:22.46ID:???まぁパフォーマンスが向上してるのは確かだけども正直期待ハズレ
HHのほうがだいぶパフォーマンスは上だな
0067nobodyさん
2016/05/08(日) 11:22:56.94ID:???そもそも静的解析や速度が重要ならPHPが選択肢に上がる訳がない
適当に書けて適当に動けばいいって人間が使うんだから
0068nobodyさん
2016/05/08(日) 12:53:48.77ID:???問題はセキュリティとスケーラビリティだな
後者はある程度克服出来るにしても
PHPだけの問題ではなくWebのセキュリティはスカスカな傾向にあるし
しっかり作りこまれて穴があればプッシュ通知で即座に自動更新されるようなFWがあれば最高なんだが
Webでそこまでやるのはまだ難しい
0069nobodyさん
2016/05/09(月) 11:07:30.24ID:???> そもそも静的解析や速度が重要ならPHPが選択肢に上がる訳がない
その論法でいくと、世のhogeコンパイラのほとんどが意味の無いものということになるが
0070nobodyさん
2016/05/20(金) 09:08:45.44ID:???パスワードでログインしたら、ほぼ静的なコンテンツを表示する
という簡単なサイトを構築したいのです
動的な部分はログインだけなので出来るだけ簡単なのがいいです
0072nobodyさん
2016/05/20(金) 10:56:50.01ID:???0073nobodyさん
2016/05/24(火) 05:56:46.42ID:???処理速度が遅いものほどお世話がすぎるので簡単に出来るし
処理速度が早いものほどコードを多く書かないといけないので面倒といえる
0074nobodyさん
2016/05/25(水) 11:44:53.96ID:???出力の文字コードの自動的な変換は
mb_http_output("SJIS");
ob_start("mb_output_handler");
で出来るけど、入力の自動的な変換は どうやってやればいいの?
mb_http_input("SJIS");
ini_set("mbstring.encoding_translation","on");
としてみたけどダメだった
0075nobodyさん
2016/05/26(木) 15:26:25.65ID:???0076nobodyさん
2016/05/28(土) 19:22:23.17ID:???0077nobodyさん
2016/05/29(日) 16:41:08.97ID:???0078nobodyさん
2016/06/03(金) 18:47:32.56ID:???0079nobodyさん
2016/06/10(金) 20:21:24.34ID:???0080nobodyさん
2016/06/13(月) 12:30:02.52ID:???0081nobodyさん
2016/06/28(火) 14:48:22.91ID:???みんなどうやってセッションしてるの?
$_SESSION に直接ぶっこんでるの?
0082nobodyさん
2016/06/29(水) 14:28:16.85ID:???$HTTP_SESSION_VARS 非推奨
これ見て$_SESSION以外を使うという選択肢にたどりついたなら
初心者からやり直しだなぁ
0085nobodyさん
2016/06/29(水) 22:55:19.98ID:???ある関数で入力を書くとき
明確にパラメータがあるときは @param でいいけど
グローバル変数($_SESSIONなど) を使ってるときに
それをうまいこと明示する方法はありますか?
0089nobodyさん
2016/06/30(木) 17:08:54.44ID:???ほんとゴミ共にはうんざりさせられるわ
0090nobodyさん
2016/06/30(木) 18:46:37.08ID:???https://www.phpdoc.org/docs/latest/index.html
0092nobodyさん
2016/07/01(金) 03:22:15.95ID:???オブジェクト指向でやれ
0094nobodyさん
2016/07/01(金) 13:00:43.01ID:???0095nobodyさん
2016/07/12(火) 18:59:38.75ID:fbJA+QlH上記のエラーが出ます。
該当行は下記です。すみませんが解決方法を教えていただけませんか。
$statuses = $toa->get('statuses/home_timeline', ['count' => '20']);
0096nobodyさん
2016/07/12(火) 19:01:10.31ID:fbJA+QlH0097nobodyさん
2016/07/21(木) 00:56:54.84ID:xr3YoYInphpは一応有効で例えばphpinfo();なんかは正しく動いているようです。
そして行頭の<?phpから他の行頭の?>までのブロックの中は正しく動いているみたいなんですが、
普通のhtmlの中に<?php>print($var);?>と書いた部分が正しく動かなくて、
print($var);?>がそのまま表示されます。
何がいけないんでしょうか?教えて下さい
009897
2016/07/21(木) 01:28:11.46ID:???0099nobodyさん
2016/07/21(木) 19:00:00.44ID:???$unko = isset($a) ? $a : $unko;
をなんかかっこよく書く方法あったよね?
0100nobodyさん
2016/07/21(木) 19:10:26.34ID:eZpumwmi$json という変数があったとき、第一印象で中身は何だと思う?
・JSON文字列
・JSON文字列をデコードして出てきたオブジェクト
・JSON文字列を格納してあるファイル名
・JavaScript有効フラグ
0102nobodyさん
2016/07/21(木) 20:00:49.19ID:???>(expr1) ? (expr2) : (expr3) という式は、式1 が TRUE の場合に 式2 を、 式1 が FALSE の場合に 式3 を値とします。
>PHP 5.3 以降では、三項演算子のまんなかの部分をなくすこともできるようになりました。 式 expr1 ?: expr3 の結果は、expr1 が TRUE と同等の場合は expr1、 それ以外の場合は expr3 となります。
0103nobodyさん
2016/07/21(木) 20:02:33.39ID:???php7には??なんてのがあるけど
0105100
2016/07/22(金) 11:53:45.74ID:9kPL7vfaログファイルを出力するとき、ログファイル名は
機能ごとに分けてる? それとも起動ファイルごとにわけてる?
それとも全部ひとつに出力しちゃってる?
まあ必要に応じてマージやソートやグレップすればいいだけだけど
0106nobodyさん
2016/07/24(日) 22:34:50.55ID:???別個にやると、ログローテーションなど考えるのが、面倒
0107nobodyさん
2016/07/25(月) 13:46:02.16ID:???0108nobodyさん
2016/07/26(火) 08:23:29.20ID:???通常ログ、エラーログ、メモリログをそれぞれ日付ごとに分けて出力してる
エラーログにはIDがついてて、エラーが起きる度にIDを発行し、
画面に表示するエラーメッセージにそのIDをくっつけているので、
それを報告してもらえばスタックトレースが追えるようになってる。
ログを残す日時は定義ファイルで自由に設定できて、
その日数を超えると自動で削除される。
0109108
2016/07/26(火) 08:28:20.12ID:???エラーが起きる度に新しいログファイルを作っていて、
自動削除機能がないのですさまじい数のファイルがログディレクトリに溜まっていた。
スタックトレースは勿論だが、関わっていた様々なオブジェクトのダンプも併せて出力されていて、
顧客が入力した名前から住所からクレジットカード番号から何から何まで全て記録されていた。
本当にこいつ、頭おかしいなと思った。
0110nobodyさん
2016/07/26(火) 09:24:24.33ID:???>>109
>顧客が入力した名前から住所からクレジットカード番号から何から何まで全て記録されていた。
ログファイルってそういうものじゃあないの?
0111nobodyさん
2016/07/26(火) 09:53:57.01ID:???なわけないじゃん。
ログファイルは問題が起きた時に原因を調べるためのもので、
商売に関わる情報を記録するためのものじゃない。
暗号化もしてないただのテキストファイルに一切合切記録してます、
なんて店で買い物する気になるか?
全然知らないマイナーな店で買い物する時、
自前でクレジット決済してるようなとこでお前はクレジットカード情報入力してるの?
普通は決済代行サービス使ってなきゃ代引きとかにするんじゃないか?
0112nobodyさん
2016/07/26(火) 11:50:37.27ID:???> なわけないじゃん。
なわけないじゃん。
> ログファイルは問題が起きた時に原因を調べるため
なのだから、ユーザの入力データが元でエラーが発生したのなら、その内容を保存するしか
あとから検証することは不可能。
> 暗号化もしてないただのテキストファイルに一切合切記録してます、
読める人が限定されてるなら問題ないね。
> 全然知らないマイナーな店で買い物する時、
> 自前でクレジット決済してるようなとこでお前はクレジットカード情報入力してるの?
> 普通は決済代行サービス使ってなきゃ代引きとかにするんじゃないか?
話が変わってるな。
自システムの入力にクレジットカード番号があり、その入力データが元でエラーが発生したなら、
それを保存しておく必要がある。
0113nobodyさん
2016/07/26(火) 13:22:03.73ID:???0114nobodyさん
2016/07/26(火) 14:37:44.59ID:???0115nobodyさん
2016/07/26(火) 16:14:37.96ID:???で、秘密鍵は複雑なパスフレーズ
(そして、監視系でパースできなくなる)
0116nobodyさん
2016/07/26(火) 16:57:25.88ID:???0117nobodyさん
2016/07/26(火) 17:21:21.13ID:???0118nobodyさん
2016/07/26(火) 18:35:51.05ID:???0119112
2016/07/27(水) 15:45:47.15ID:???エラーの原因調べるのにいちいち複合して調べるのか、お前らは?
マトモな奴は >>117 だけだな。さすが2chだ。馬鹿しかいない。
0120nobodyさん
2016/07/27(水) 15:47:16.29ID:???0121nobodyさん
2016/07/27(水) 15:52:15.81ID:???ログにクレジットカード番号とか記録するなって言ってるのは、
「敵は外にいるとは限らない」からだぞ。
お前らみたいな馬鹿に見られたら、ベネッセみたいになりかねねぇだろ。
だからマトモなシステムでは、そんなとこに秘匿情報は記録しねぇよ。
0123nobodyさん
2016/07/27(水) 16:01:19.35ID:???まあログに個人情報を書くと個人情報保護法が面倒だから
おれはログには個人情報は書かないかな
プログラム内のデバッグ用の細かい情報は生でもりもり書くから
それみられるのも恥ずかしいので暗号化くらいはしてもいいと思う
0124nobodyさん
2016/07/27(水) 17:26:21.33ID:???> だからマトモなシステムでは、そんなとこに秘匿情報は記録しねぇよ。
そうでもないよ
>>123
> まあログに個人情報を書くと個人情報保護法が面倒だから
全然面倒じゃありませんが
てか、小間個人情報を扱うシステムに携わったことないだろ?
0125nobodyさん
2016/07/27(水) 17:31:27.04ID:???> もう一つ、分かってねーみたいだから言っとくけど、
> ログにクレジットカード番号とか記録するなって言ってるのは、
> 「敵は外にいるとは限らない」からだぞ。
エラーログの話なんだが
お前の所のエラーログには、秘匿情報が山盛りなのか?
そんな低品質なプロダクトを公開するんじゃねーよ
0126nobodyさん
2016/07/27(水) 18:55:05.35ID:???お前が関わってるプロジェクトがそうであるかどうかは俺のしったこっちゃない。
一般論の話だ。おまえがどんなゴミクズ触ってようと、知らない。
>>125
おまえ、日本語読めない人? 本当に馬鹿ばっかだな。
0129nobodyさん
2016/07/29(金) 08:02:10.25ID:???そういう会社の処理ログが、顧客の入力した値を記録しないで成り立つの?
0130nobodyさん
2016/07/29(金) 08:36:16.04ID:???0132nobodyさん
2016/08/01(月) 11:38:46.41ID:???0133nobodyさん
2016/08/01(月) 14:21:42.59ID:???0135nobodyさん
2016/08/02(火) 20:44:34.08ID:???0136nobodyさん
2016/08/03(水) 05:52:42.70ID:???0137nobodyさん
2016/08/03(水) 07:14:20.85ID:???見れちゃいけないオレが見放題になってるんだけどなw
お前らの「必要だ!」なんか信じてたらWEBで買い物なんかできねーよw
0138nobodyさん
2016/08/03(水) 14:04:49.45ID:???個人特定する情報ならユーザIDでいいし
決済エラーでどのクレカ番号が決済できなかったとかそんなもん管理者が知る必要はないし
どう考えても悪意以外でクレカ情報をエラーログに書き込む必要性を感じない
0139nobodyさん
2016/08/03(水) 17:04:25.17ID:???ログを暗号化する話とパスワードを平文で保存するかどうかの話には大きな隔たりがあるんだけど、なんで同列の話であるかのようなレスをしたの?
0140nobodyさん
2016/08/03(水) 18:14:54.51ID:???> どう考えても悪意以外でクレカ情報をエラーログに書き込む必要性を感じない
ユーザの入力間違いが原因かもしれんで
0141nobodyさん
2016/08/03(水) 18:19:45.35ID:???例えばさ、ユーザから「ちゃんとパスワードを入力してるのにログインできない」とか言われたとき、
パスワードをログに出力しておかないと、本当に正しく入力したのかどうかわからんでしょ
まぁそれを暗号化してログに出力するかどうかは別問題だが
0142nobodyさん
2016/08/03(水) 18:33:34.90ID:???そんなシステムみたことないけど。
0143nobodyさん
2016/08/03(水) 18:34:56.68ID:???全部ログに吐くようにするわな
普段は生でも問題ないレベルにしておくけど
0144nobodyさん
2016/08/03(水) 20:02:41.89ID:???エラーログってのはエラーの内容を特定するために必要なものであって
入力内容をエラーログに書き込むようなことしないでしょ
パスワードが本当に正しいかなんてのは
そんなのパスワードリマインダー使うなり変更して下さいで済む問題で
管理者が知る必要のない情報
0145nobodyさん
2016/08/03(水) 20:45:26.54ID:???0146nobodyさん
2016/08/04(木) 04:09:07.48ID:???二次元配列をテキストファイルに行列形式で出力したいです。
fwriteとかfput_outなどで通常の配列は出力していたのですが、二次元配列だと
それができないようで、何か便利な関数や方法があれば教えていただきたいと思います。
よろしくお願い致します。
0147nobodyさん
2016/08/04(木) 11:10:02.45ID:???> エラーログってのはエラーの内容を特定するために必要なものであって
> 入力内容をエラーログに書き込むようなことしないでしょ
だから、その入力内容が原因でエラーが発生したという場合もあるのだから、入力内容を
ログ出力しておかないと後で調査できないという話なんだが。
> パスワードが本当に正しいかなんてのは
> そんなのパスワードリマインダー使うなり変更して下さいで済む問題で
いや済まない。
まず、ユーザが正しい入力をしたという認識なのだから、原因を特定するのはこちらの責任。
そもそも、ユーザがどうやってパスワードを管理・入力しようが、こちらは関係ないし。
0148nobodyさん
2016/08/04(木) 11:11:19.67ID:???> それができないようで、
できない。
> 何か便利な関数や方法があれば
ない。
それくらい、自分でコード書け。
0149nobodyさん
2016/08/04(木) 12:10:21.37ID:???多分 デバッグログ のつもりで書いているんだと思う。
デバッグログには、そりゃあもう何でも書くよ! 何でもだ!
0150nobodyさん
2016/08/04(木) 13:17:48.14ID:???それがデータベースの値と異なるとき、
* 過去にそのユーザのログイン実績があるなら、今回はユーザの入力間違い
* 過去にそのユーザのログイン実績がないなら、パスワード登録時にミスったか、今回ミスったかのどちらか
* 微レ存でバグ
0151nobodyさん
2016/08/04(木) 17:14:33.17ID:???PHPのアップデートでハッシュ関数にバグが入り、極まれな特定の入力でハッシュ値が以前と合わなくなっていた、なんてケースに当たったらどうするよ
0153nobodyさん
2016/08/04(木) 18:20:22.43ID:???実際それは考慮しないといけないかもよ。
入力もロジックも間違ってないことの確証が得られなければ永遠に原因追求させられかねん。
ここには絶対に間違いが無いので別の要因ですと言える証拠は必要。
0154nobodyさん
2016/08/04(木) 18:33:56.52ID:???0155nobodyさん
2016/08/04(木) 19:59:39.18ID:???欠陥PHPer
■ このスレッドは過去ログ倉庫に格納されています