PHP質問・雑談スレ4【初心者お断り(ROM歓迎)】at PHP
PHP質問・雑談スレ4【初心者お断り(ROM歓迎)】 - 暇つぶし2ch849:nobodyさん
18/09/06 18:26:07.22 .net
手段と目的を間違えて無ければ何でもいいよ。
Dockerはもちろん良い物だけど必須ではない。

850:nobodyさん
18/09/07 16:08:31.23 .net
PHPで動画編集できるライブラリ無いかな?画像編集できるGDみたいなさ
既存動画のカットと動画連結、字幕が付けれて、それをmp4に出力で来て、
youtubeでアップロードできれば最高なんだけど
コマンドラインで別のプログラム実行するとかじゃなくてね
まぁ無理かな…

851:nobodyさん
18/09/07 16:58:28.42 .net
PHPの場合, ライブラリでやるとなるとピュアPHPになるが動画編集はそれじゃあ重過ぎるだろう
他の言語だとネイティブに近いレイヤのライブラリをラップしてバインディングすると思うけどPHPには実行時にネイティブ拡張をロードする機能がない

852:nobodyさん
18/09/07 17:15:32.51 YySmCjy1.net
URLリンク(phpopencv.org)
これ使って何とかならんの?

853:nobodyさん
18/09/07 19:18:12.39 .net
文章が臭いなと思ったが
>既存動画のカットと動画連結、字幕が付けれて、それをmp4に出力で来て、
なんかやることが量産クソyoutubeアフィっぽい

854:nobodyさん
18/09/07 20:20:39.44 .net
動画編集をブラウザでやるってのが無理ありすぎ
重い 遅い 面倒なのは容易に想像でき
あきらかにプラットフォームに向いてない

855:nobodyさん
18/09/07 21:02:34.48 .net
そのぐらいのオンラインサービスなら既にありそうだけどね。

856:nobodyさん
18/09/07 21:24:58.65 .net
WebGL使えば何でも出来る
動画をテクスチャにすればどんなエフェクトも実現出来る
ブラウザ上ではプレビューだけで
エンコードは強力なサーバーのCPUとGPUをぶん回す
PHPとかもう関係ねえか

857:nobodyさん
18/09/07 21:27:57.53 .net
JavaScriptだな

858:nobodyさん
18/09/08 00:15:30.05 .net
gif動画くらいならまだわからんでもないがmp4ってご職業をたずねたくなる

859:nobodyさん
18/09/08 00:59:50.88 .net
>エンコードは強力なサーバーのCPUとGPUをぶん回す
サービス化するとなると結構きついよそれ
JSで各クライアントにやらせたほういいね
そうすると専用ソフトでやったほうがいいってとこに帰結する

860:nobodyさん
18/09/08 01:05:23.39 .net
jsで動画エンコードってさ、こうなりそう
利用者=負荷がかかるとわかってる
→鯖管理者=coinhiveみたいなminerを仕込んでおく
→鯖管理者=広告と採掘で両得、サーバ負荷なし

861:nobodyさん
18/09/08 07:30:59.70 .net
ffmpegをEmscriptenで動かすような方式なら
オーバーヘッドでかいしシングルスレッドだが動く
SharedArrayBuffer使えば
マルチスレッド出来るらしいがSpetre、Meltdownのせいでしばらくは復活しない

862:nobodyさん
18/09/11 17:07:25.22 .net
CRON起動すると多重で起動されたりするのって当たり前?

863:nobodyさん
18/09/11 17:31:28.03 .net
いいえ
処理時間が長すぎて、前回の処理と重複してんじゃないですかね?

864:nobodyさん
18/09/15 11:17:45.89 .net
>>843
ロックしたらいいんじゃね?
ロックが確保出来なかったら
前回の処理が実行中とみなして処理を行わない
Symfonyにこの目的のコンポーネントがある
URLリンク(symfony.com)

865:nobodyさん
18/09/15 11:31:27.49 .net
* * * * * /path/to/unko.php
のういうの見ると、daemonにしてよとか思う。

866:nobodyさん
18/09/15 11:38:58.70 .net
>>846
メモリリークとか蠱惑ね?

867:nobodyさん
18/09/15 11:57:01.30 .net
そんなクソなコードなの…?
まあでも、起動時に一応ulimitしたり落ちたら再起動とかフォローはするけど。

868:nobodyさん
18/09/15 13:00:39.79 AkqW0gAt.net
Drupalはメモリの内容を使い回すphp-pmではメモリリークして安定動作しないらしい
php-pmにも一定数のリクエストを処理すると再起動する機能があるが、リークの程度が大きいとそれでも問題になる
Drupalのコードはメモリの内容をリクエスト後に破棄する前提で
あちこちでキャッシュしまくってんのかな?

869:nobodyさん
18/09/15 14:19:19.63 .net
>>846
なんで?落ちたら再起動させるようにするとかよっぽど手間じゃないか

870:nobodyさん
18/09/15 14:36:06.00 .net
今まで見て来た範囲で大半は、
リアルタイムにしたいのに技術力がなくてできなくて、
そんでもって処理も下手で起動が遅かったり
多重動作したりしてたから。
daemonにしたらそういうことはなくなる。
そもそも落ちるなんて稀な品質で作るし、
落ちたら条件付きで自動再起動するのは
他のサービスでもやるからね。
毎分起動ですぐに処理が終わって、
リアルタイム性を要求され


871:てないならOKだよ。 でもそんなの少ない。



872:nobodyさん
18/09/15 14:38:21.89 g0abHATJ.net
コンテナオーケストレーターのAmazon ECS使うわ
プロセスが仮に落ちても自動で再起動してくれる
使用するメモリーも制限できる
cronのような定期実行も一応出来る

873:nobodyさん
18/09/15 14:50:10.75 .net
>>851
>リアルタイムにしたい
それバッチでやることじゃないのにバッチを使ってる、っていう転用事例だよな後出しじゃん
>そんでもって処理も下手で起動が遅かったり
>多重動作したりしてたから
バッチ利用が悪くてdaemonなら良い、っていう問題じゃないよなコレ。ただの技術力の低さ
>毎分起動ですぐに処理が終わって、
>リアルタイム性を要求されてないならOKだよ。
>でもそんなの少ない。
後の2行はdaemon利用であるかどうかと無関係
むしろ上述の前提のとおり技術力がないならdaemonでもトラブル多発する
>毎分起動ですぐに処理が終わって、
>リアルタイム性を要求されてないならOKだよ。
>でもそんなの少ない。
オレオレ常識を前提にして語らないでくれます?

874:nobodyさん
18/09/15 14:53:20.31 .net
なんかカス知識しかない営業や広報が「ファイルなんてあり得ないDBなら問題ゼロなのに」と言ってる感じ

875:nobodyさん
18/09/15 14:54:04.17 .net
すまん広報は上のオレオレ常識だな忘れてくれ

876:nobodyさん
18/09/15 14:59:44.14 .net
>>853
何だよ、連投して噛み付きたいだけか。若いな…
ごめんね。
自分で作った訳じゃないから技術力は俺のせいじゃないしw
お客さんか、その場開発元に言って。

877:>>854-855
18/09/15 15:00:39.55 .net
なんかすまんな営業君

878:nobodyさん
18/09/15 15:09:30.71 .net
>>856
後出し、論点すり替え、に追加で人格攻撃に責任転嫁
倍満ってとこかな?
まあ大方ステマの類だろうけど

879:nobodyさん
18/09/15 20:11:41.06 .net
完全論破( ー`дー´)キリッ

880:nobodyさん
18/09/15 20:16:27.14 .net
リアルタイムと言うけど
一体全体どんな処理を想定しているんだ
手段として常駐化が使えてかつ常駐化が効率的であるケースはそう多くない
というかぶっちゃけかなり少ないように思われるんだけど

881:nobodyさん
18/09/15 20:57:38.10 .net
どちらかといえば実装ではなく設計もしくはその上流の問題かな
オンデマンドでもなく毎分起動、しかもphp実装
ポート開けて待ち構えるでもない
問題があるとすればその所在はdeamon云々ではなく別のところ

882:nobodyさん
18/09/16 22:52:24.26 .net
>>109
みやえらってYouTubeでも他のアフィリエイターの名前を利用して集客してるよね。
それで散々否定した上で、自分のサロンみたいなものに誘導してる。
一番、卑怯なタイプですよね。

883:nobodyさん
18/09/17 11:09:15.41 pOFnQ2V0.net
phpって
クラスのフィールドに代入する時
クラスで定義してない名前のフィールドにも代入出来る?
何でこの辺ゆるゆるなんだ

884:nobodyさん
18/09/17 15:16:51.62 4qZo9f4+.net
CSRF対策で質問です。フォームで別の画面にトークンを渡す場合
hoge1.php
<form action="hoge2.php">
<input type="hidden" name="token" value="生成した値">
<input type="submit" value="OK">
</form>
hoge2.php
if(!isset($_POST["token"]) || $_POST["token"] !== 値 ){エラー表示}
のようにしてますが(おおまか)
<form action="hoge1.php">
と自分自身に渡す場合エラーになってしまいます。
どうすべき、どうしてますか?

885:nobodyさん
18/09/17 15:29:30.63 .net
if(!isset($_POST["token"]) || $_POST["token"] !== 値 ){エラー表示}
のところの「値」が数値型になってないか?

886:nobodyさん
18/09/17 17:02:21.91 .net
ifの中身が予想に反する結果になるんだったらまずvar_dumpして原因探れよ

887:nobodyさん
18/09/17 21:53:00.13 .net
>>865
文字型です。
別画面へ移動ならエラーにならないのでそこは問題ありません。
>>866
予想通りの結果です。
CSRF対策で、ページが最初に読み込まれたときの処理をどうしてますか?

888:nobodyさん
18/09/17 22:03:36.74 .net
>>867
hoge1.phpとhoge2.phpの内容を
(おおまか)
などと言って省略しないで全部出せ
それか、再現可能な最小のコードを書け

889:nobodyさん
18/09/17 22:27:37.65 .net
質問者の意図がわからずブチ切れ
ほぼ間違いなくCSRF対策の意味がわかってない

890:nobodyさん
18/09/17 22:37:31.33 .net
配列長が500、[0]から[99]までは値が1、[100]から[499]までは値が0、という配列を作るのってどうすればいいですか?
やはり面倒でもforでまわすのが確実でわかりやすいでしょうか

891:nobodyさん
18/09/17 22:50:49.71 v4ZYnSR8.net
<form action="hoge2.php">
methodが抜けてる時点で、お話にならない。

892:nobodyさん
18/09/17 22:55:19.99 .net
>>870
array_fill()
URLリンク(php.net)

893:nobodyさん
18/09/17 23:02:38.57 .net
>>872
配列長100で全要素の値が1の配列Aに、配列長500で全要素の値が0の配列Bをmargeするということでしょうか

894:nobodyさん
18/09/17 23:06:54.07 .net
連投すいません
array_mergeの動作を勘違いしていました
array_merge( array_fill(0, 100, 1), array_fill(100, 400, 0) )
これだけで重複させずに生成できるんですね
ありがとうございました

895:nobodyさん
18/09/17 23:14:38.03 .net
>>871
質問に余分な箇所は削るという感じでしたので省略しました。
そこ必要でしたか?ちなみにPOSTです。

896:nobodyさん
18/09/17 23:18:31.41 .net
>>871
methodが何であれ対策に根本的には関係ない
すでに書かれてるのにあえてまた書くがエラーが出て困ってるのではないとわかってる?

897:nobodyさん
18/09/17 23:20:48.74 .net
>>871は頭悪いのか?なくても予想できるだろ
>別画面へ移動ならエラーにならない

898:nobodyさん
18/09/17 23:41:23.43 .net
>>869 >>876-877
無能質問者の自演乙

899:nobodyさん
18/09/17 23:48:00.20 .net
とうとう自演扱いw
まさに>>869

900:nobodyさん
18/09/18 06:05:33.23 .net
低レベルな喧嘩は初心者スレでやってくれる?

901:nobodyさん
18/09/18 19:59:18.63 .net
問題点が見えていない2人(か1人か)のために書くと
$_POST['token']には何かしら値が入っているはず
入ってなければ不正アクセス等(で強制終了可)
ところが自分呼び出しでは最初は値が入っていない
だからエラー処理してるとそれになる
不正アクセス等の区別をどうするかということだな
エラー処理せずスルーするか

902:nobodyさん
18/09/18 20:26:37.82 UTbc9qbB.net
sessionが空
postが空
sessionとpostが一致しない
 => でてけ!

903:nobodyさん
18/09/18 21:16:13.02 .net
>>868
(おおまか)は !is_string($_POST['token'])


904: など質問に全く関係ないバリデなどです。 他スレではどこも関係ない部分は消せと言われますがここは全部書いた方がいいのでしょうか? >>864は100%再現します。



905:nobodyさん
18/09/18 21:19:41.01 .net
$_POST['token']以外に何も判断材料がないのかね

906:nobodyさん
18/09/18 21:22:12.02 .net
method記述がないコードでhoge2.phpに投げるとなぜか$_POST['token']に値が入ります!再現します!

907:nobodyさん
18/09/18 21:55:49.75 .net
>>884
判断材料とはなんでしょうか?>>881の通りです。
フラグに初回で値入れるか変えて
それ以降受け渡して使い回しすれば判定できますがそれはちょっと。
みなさんはどう判定してるのでしょうか?

908:nobodyさん
18/09/18 22:03:33.79 .net
>>885
>>880

909:nobodyさん
18/09/19 15:07:37.46 vkVFY1/A.net
そもそもスーパーグローバルとか使うなや

910:nobodyさん
18/09/19 19:30:11.00 .net
SESSIONならいいんじゃね

911:nobodyさん
18/09/19 20:44:33.16 .net
別に使っても構わんだろ

912:nobodyさん
18/09/19 22:12:38.81 .net
filter_input覚えたからってスーパーグローバルだから使うなって理屈はおかしい
スーパーグローバルがいじれてしまっても意図したことなのでなんの不都合もない

913:nobodyさん
18/09/19 22:42:03.69 AG3DKNyH.net
そもそもPHP使うなや

914:nobodyさん
18/09/19 23:27:35.58 .net
なんでやねん

915:nobodyさん
18/09/20 04:30:30.01 .net
バリデーションが貧弱でFILTER_CALLBACK使いまくりの
汚らしいコードになるのがfilter_input
すっきりでもなんでもねえや

916:nobodyさん
18/09/20 07:47:03.15 RWskJfDy.net
なんでPHPのフレームワーク使わないの?

917:nobodyさん
18/09/20 08:22:15.22 .net
ageてるやつはちょっと頭悪すぎてこのスレに不要なんで消えてくれるかな

918:nobodyさん
18/09/20 15:04:04.76 r6jO1NK4.net
スーパーグローバルなんて使ったらテスト出来ないじゃん
禄にテストしないとgoto failを誤記述してセキュリティに大穴空けたiOSみたいになるぞ

919:nobodyさん
18/09/20 15:25:27.37 .net
ん?

920:nobodyさん
18/09/20 19:08:24.84 .net
自己呼び出しはそんな特別なことでもないのにな
皆対策してないのか

921:nobodyさん
18/09/20 20:58:49.72 .net
CSRF対策とはなんぞや、から説明し出す人を待ってるのかな

922:nobodyさん
18/09/20 21:56:25.03 .net
OAuth2のstateは?
リンクを踏ませて攻撃者のアカウントにログインさせられるのを防ぐらしい
図解:OAuth 2.0に潜む「5つの脆弱性」と解決法 (2/4)
URLリンク(www.atmarkit.co.jp)
しかし、ユーザーのアカウントを盗むのではなく
騙して攻撃者のアカウントにログインさせるのって
何に使えるんだ?

923:nobodyさん
18/09/20 23:15:09.43 .net
>>900
そんな説明はいらんし、上見た感じ質問者以外説明できるのここにはいないだろ

924:nobodyさん
18/09/21 00:22:36.65 .net
なんぞやを引き出そうとは読めんしな。
>>901
読んでないがカウンターじゃね。

925:nobodyさん
18/09/21 02:45:20.98 .net
$_POST["token"] !== 値
!==だから「$_POST["token"]」と「値」では型が違うんじゃね?くらいしかわからん
値をどうやって作ってるのか見ないと何とも言えない

926:nobodyさん
18/09/21 09:29:51.47 .net
CSRFなんてXSSと並んで初歩中の初歩なんだが

927:nobodyさん
18/09/21 17:04:25.95 .net
知っておくべきことやっておくべきことではあるが、初歩ではないぞ

928:nobodyさん
18/09/21 22:40:04.68 .net
初歩的な知識ではあるが技術的にはかなりしんどい
単純なシステムならいいが、複ログインや古いシステムが絡まると手がつけられなくなる

929:nobodyさん
18/09/21 22:55:58.39 .net
初心者お断りスレの対象じゃないということで

930:nobodyさん
18/09/21 23:23:26.53 .net
>>904
いやだから同じページでなければそこは正常動作してるんだっ�


931:ト 初期表示と不正侵入の区別 これは理論上無理だからページ構成変えるとか 例えばお問い合わせフォームなら次ページ次ページと行けるから自然と値は入る



932:nobodyさん
18/09/21 23:29:16.47 .net
理論上ふいた

933:nobodyさん
18/09/22 02:15:22.08 .net
CakePHPとか何かフレームワーク入れりゃそれがXSS対策・CSRF対策をしてくれるからな
特段なんか対策用の仕組みを考えたりとかしてないだろ?

934:nobodyさん
18/09/22 05:13:29.59 .net
新手のオラつき方だな

935:nobodyさん
18/09/22 06:03:21.81 .net
CSRFとその他をごっちゃにしすぎ
まずはCSRFだけに注目して考える
それでどういう対策が有効かを考え
その対策をしたときに生まれる新たな問題がないかを検討
そうやって問題がないところまで考えることができればミジンコ卒業

936:nobodyさん
18/09/22 08:04:21.67 .net
FW使えば問答無用で対策がされるわけないだろ
FWのルールに従い FWの機能を使っているうちはそうではあるが
もともと備わってるそういう機能やルールがあるのを知らず
一歩踏み外して自前でコードを書き出せば常に危険は伴う
ただしいリスクに対する対策ができればそういったケースでも安全
FWにも学習コストがかかるわけで
方言のようなFWの流儀覚えるからセキュリティなんて考慮しないではなく
標準語としてピュアPHPなコードで学習しないとFWに頼りきってると痛い目見る

937:nobodyさん
18/09/22 14:55:29.83 .net
>>913
CSRF以外話には出てないが?
君がごっちゃにしてるだけだろ

938:nobodyさん
18/09/22 14:57:31.34 .net
まあまずは頭の中を整理しよな

939:nobodyさん
18/09/22 16:06:23.64 .net
>>914
同感
壁にぶつかってそれを対策するためだけにFW使えとは本末転倒
FW使うにしろ基本に取り組むことは正しいし後々役に立つこともある
>>916
>>880

940:nobodyさん
18/09/22 21:20:14.76 .net
>>910
なにがおかしい?そのままその通りだが

941:nobodyさん
18/09/22 21:59:52.93 .net
>>905
なら答えようか、初回のエラー対策。
はいどうぞ↓

942:nobodyさん
18/09/22 22:03:57.01 .net
>>919
丸一日半も経ってからその程度しかレスできないの?
君、生きてる価値ないw

943:nobodyさん
18/09/22 22:11:29.54 .net
>>918


944:nobodyさん
18/09/22 23:47:56.96 .net
>>920
丸一日?誰と勘違いしてんだ。
ようは答えられないのだな。

945:nobodyさん
18/09/23 00:29:13.67 .net
ここは答えられない人がいちゃもんつけるスレです

946:nobodyさん
18/09/23 06:27:52.89 .net
ぼくはまちちゃんも知らない新参が増えてきてんだな

947:nobodyさん
18/09/23 07:57:41.92 .net
よそのサイトがよそのサイトにリクエスト送って
それを受理してしまうとまずい状況なのがCSRFな
別にまずくないなら仕様で片付けられる問題

948:nobodyさん
18/09/23 09:00:09.80 .net
>>911
間違いなくCakePHPだと今回のような同一ページでも対策してくれる?
他に同一ページで対策するものはある?

949:nobodyさん
18/09/23 09:21:26.76 .net
もう1週間近くになるのにまだできてないの

950:nobodyさん
18/09/23 09:47:44.59 .net
もう1週間近くになるのにまだ答えられてないの

951:nobodyさん
18/09/23 10:47:41.49 .net
そもそも質問した人と断定してることが痛い

952:nobodyさん
18/09/23 11:04:50.91 .net
ほんと初心者スレでやってくんないかな
ここ過疎スレなんでねえ
下らないレスで流さないでほしいんだわ

953:nobodyさん
18/09/23 14:16:22.72 .net
>>930
雑談スレでもあるから話自体はOK
892, 920のような不毛なレスが余計なだけ

954:nobodyさん
18/09/23 19:01:10.04 .net
>>927
とうにできてます。
速度など別の理由で>>909に近い感じにしつつ自分自身に渡すようにしました。
元々お問い合わせフォームの


955:流れなら全く問題なかったので。



956:nobodyさん
18/09/23 23:50:42.36 .net
指摘できるならここぞとばかり反論してきたであろう>>910
結局何も言えずに終わったな
これへの返しもwだけだろ

957:nobodyさん
18/09/23 23:56:07.09 .net
>>933


958:nobodyさん
18/09/24 12:45:34.83 .net
釣られてやんのw

959:nobodyさん
18/09/26 19:14:49.36 .net
>>926
そもそも>>864だけでは再現性が無い
>>871指摘、>>875の通り、method="post"と書けば動作する
問題のコードが端折られているから何が問題なのか分からん

960:nobodyさん
18/09/26 19:46:53.24 .net
初心者スレでないからといって
エラーがなにかを書かないとエスパーじゃないと答えられん

961:nobodyさん
18/09/26 20:47:45.23 .net
くどい、まだ言ってるのか
>何が問題なのか分からん
読解力が問題

962:nobodyさん
18/09/26 21:52:45.49 .net
Windows10でXAMPP使ってる人に
ProでなくHomeで使ってる人いる?

963:nobodyさん
18/09/26 21:58:12.55 .net
>939
xamppとwindowsのhome/proは関係ないと思うけど、何を聞きたいの
結局hostsw書き換えるだけだよ

964:nobodyさん
18/09/26 23:15:25.06 .net
>>940
肝心なこと書いてなくてすまん
windowsの更新で問題点や面倒さなど違いあるかなと
みんな自動更新抑制ツールなど入れてるだろうから同じことかな

965:nobodyさん
18/09/26 23:22:34.52 .net
>>941
特にない
強いて言えば、仮想環境を作る時にPROの方が多少パフォーマンスが優遇されてた気がする

966:nobodyさん
18/09/26 23:27:14.94 .net
ProだとHyper-Vが使える
そもそもXAMPP使わないけど

967:nobodyさん
18/09/27 08:42:18.63 .net
10 homeでxampp使ってるぞ
もともと7 homeからたけどな
phpの動作確認なんてこれで十分や

968:nobodyさん
18/09/27 19:59:39.18 .net
みんなありがとう、よく参考になった

969:nobodyさん
18/09/27 20:31:30.36 .net
本件から逸れて申し訳ないけど, XAMPPって中途半端じゃない?
手元での動作確認ならビルトインサーバでいいしテスト用環境ならコンテナなり仮想なりで動かすし
実際にApacheで動かせるって言っても今はphp-fpmの方もかなりあるし
何れにしてもビルトインサーバよりXAMPPのほうがいい状況が分からない(MariaDBも一緒に入ってくることくらい?)

970:nobodyさん
18/09/27 20:49:57.19 .net
>>936
答えてもいいがもうくどいしそういう流れでもないからヒントだけ書く
自分で実際にやってみなさい
値は乱数でもsessionでも極端に定数でも何であれ関係ない

971:nobodyさん
18/09/28 02:52:40.17 .net
ビルトインでは何か挙動が違うことがない?
ディレクトリ設定というか、エイリアス処理をしてる場合とか。
本番環境ならhoge/であのスクリプトにアクセスするのにビルトインだと違うみたいな
コンテナなり仮想環境なりは実行まで手間が掛かったりしない?
仮想環境起動に6秒くらい掛かったり、配備が手間だったり。

972:nobodyさん
18/09/28 08:00:49.46 .net
ビルトインこそ中途半端だわ
アプリケーション毎に仮想環境を用意するのも自分はあんま理解できんな
XAMPPで作ったやつが動かんことあっても5分で修正出来るレベルの内容だろう

973:nobodyさん
18/09/28 08:08:40.57 .net
OSやバージョン無視したコード書かないのが大前提でね
初心者じゃないしマニュアル見ながらそんくらい把握できるじゃろ

974:nobodyさん
18/09/28 08:09:11.73 .net
結局どうやってもサーバーと色々差異があるので、dev.example.~にしてるわ
コピーして終わり
よぽど特殊なサイトはxampp

975:nobodyさん
18/09/28 08:15:32.89 .net
スルーしてたけどビルトインサーバってもしかしてphpのビルトインウェブサーバ?
使いもんになるのアレ

976:nobodyさん
18/09/28 08:20:50.57 .net
>OSやバージョン無視したコード書かないのが大前提でね
これどういうこと?
何使うにしてもテスト環境あるならそのverで使えない組み込み関数使えば
テストでエラー吐かれるんだしバージョン無視コードがわからない
OS無視コードも何を指してるのかわからない

977:nobodyさん
18/09/28 09:25:43.46 .net
>>953
XAMPP使って仮想環境を用意しないということは
本番とはバージョンやOSが違う状態で開発してるという想定をして
ちゃんとコードをかけるかどうかっていう話だがそんな難しいことじゃねえだろ

978:nobodyさん
18/09/28 09:52:55.62 .net
>>954
バージョン違うとは限らんだろ
OSにしてもOS依存のコードって意識的に書かないと無理でね?

979:nobodyさん
18/09/28 09:56:23.92 .net
Windowsじゃ使えない機能はいくつか知ってるけども
あとは……なんかあったっけ?

980:nobodyさん
18/09/28 10:29:29.10 .net
>>955
意識的にかけるならいいんだよ
書けない人が動かんって言ってるわけで
>>956
関数でOSやFSに依存したり制限をうけるものもそうだけど
(問題になるかは別として)CRLFをPHP_EOLで書いてみたりとか
(このスレにいるかは別として)C:\users\unko\manko.pngとかパス書いちゃうやつとか
ちょっとバイナリプログラミングに手を出してみてエンディアン考えない実装したりとか
ほとんどミラクルケースではあるがまあいろいろある

981:nobodyさん
18/09/28 10:46:04.89 .net
>>957
とりあえずOSについてだけ、だけど、正直あんまり同意できない
ファイルシステム関係は・・・どんなんがあった?
意識してWindowsの特有のACLを操作するときとか?わからんけど
PHP_EOLはわざわざ意識的に「OS依存の改行コード」を指定してるんだから関係なくね
パスの問題は環境が異なるのに絶対パスで書くこと自体がNGなのであってOS関係ないはず
エンディアンが問題になるって、ファイル読んで$char[$n]だったら問題にならないし
pack/unpackだったらまず間違いなくOSによらず意識的にエンディアン指定するんでねーの
あと意識しないで改行コードが変わりうるfputcsvみたいなやつか
parse_ini_fileはどうだったっけ

982:nobodyさん
18/09/28 10:48:09.51 .net
ミラクルケースに近いけど32bit/64bitの数値上限とか

983:nobodyさん
18/09/28 12:34:50.29 .net
>PHP_EOLはわざわざ意識的に「OS依存の改行コード」を指定してる
$tmp_path = "/var/tmp";
$updir = $tmp . DIRECTORY_SEPARATOR . "upload";
とか明らかに無意識というか脳死してる人は割と多い。

984:946
18/09/28 12:46:39.01 .net
今時PHPを含めスクリプトならどんな言語でも開発用には簡易サーバ使うと思ってる
PHPならビルトインサーバだしRubyならWebrick, PythonならDjangoのdevserverが主要どころだろう
多人数の開発でApacheの設定をさせるのって難しくない?
自分だけで開発してるならXAMPPも分かるけど, でもフレームワークの開発用サーバ起動コマンド使う方が楽じゃない?
手元では簡易サーバで動かしたりテスト走らせたりしつつ, リポジトリpushしたときにCIサーバ側でテスト用コンテナ立ててテスト走らせれば本番環境に近い環境でテスト出来るし

985:nobodyさん
18/09/28 12:58:27.95 .net
単一ページならともかく
リクエストまたぐときは論外

986:nobodyさん
18/09/28 13:25:42.97 .net
OS依存とかバージョン依存話してる奴らはまだいい
946ちゃんはアカン

987:nobodyさん
18/09/28 13:29:07.65 .net
>>960
WinでもLinuxでもパス区切り記号は / 使っていいと思ってたわ
いや実際普通に使えるんだが。絶対パスやマルチバイト使わなきゃ大抵は平気なんだが
むしろなんでそんな定数使おうとするんだろう。一体何を考えて・・・

988:nobodyさん
18/09/28 17:28:51.84 .net
964に同意でーす
DIRECTORY_SEPARATORなんて使ったことねーぞ
頭の中では死語になってる

989:nobodyさん
18/09/28 20:14:32.88 .net
>>961
Apacheの設定って設定終わったら設定コピーするだけじゃん
多人数だとその設定はリポジトリを通して共有されるものだろう?

990:nobodyさん
18/09/28 20:15:52.53 .net
pathに"C:"が入ってたらデバッグモード・・・
ってのを昔やってたな
色々めんどくなってサブドメイン管理にするようになったけど

991:nobodyさん
18/09/28 20:23:44.53 .net
DIRECTORY_SEPARATORは確かCakeに入ってたな
今も入ってるかしらないけど
define("DS", DIRECTORY_SEPARATOR)
とかでDSだらけだった記憶が

992:nobodyさん
18/09/28 22:36:46.84 .net
php.iniならまだギリわかるが(設定コピーすりゃいいけど)
apache httpdのhttpd.confでなんか開発に影響あってめんどいのってあるか?
httpdの設定も満足にできない、って相当だぞ

993:nobodyさん
18/09/28 22:47:02.93 .net
>>969

レンサバの保守をやる場合サーバー側で設定できない事がある
専サバなら本当に楽

994:nobodyさん
18/09/28 22:49:40.40 .net
>>970
これ手元のローカルの開発環境の話だろ
レンサバでphpのビルトインウェブサーバ使うのかお前は

995:nobodyさん
18/09/28 22:52:55.62 .net
>>971
そりゃそうでしょ
レンサバでphpのビルトインウェブサーバは使えないだろう
・・・と思ったけど使えたらすまん

996:nobodyさん
18/09/28 23:01:47.62 .net
非開発者が話に混じってる感

997:946
18/09/28 23:20:50.08 .net
楽出来るなら楽した方がいいよねって話よ
何よりビルトインサーバの方が手間が少ないから
あとApacheとかnginxとかのフル機能Webサーバの設定ってコピペだけならいざ知らずちゃんとやるのはかなり勉強が必要だと思うけど
ましてトラブル発生時とか
上でも書いたけどPythonやRoRのプロジェクトでrunserverとかrails sとか開発時にはそっち使わない?
開発時からApache/nginx + Passenger/Unicorn/gunicorn/uWSGIとかでやるのが普通なのかな

998:nobodyさん
18/09/28 23:45:46.98 .net
httpd.confの編集がおぼつかないというのは
socketってなんですかpathってなんですか正規表現ってなんですか、というレベルだろう
ふれーむわーくに頼ってて中身把握できてない人材と同じ系統
むしろ学ばせてレベル底上げする、あるいはふるいにかける良い機会では

999:nobodyさん
18/09/29 00:44:45.56 .net
>>974
XAMPP入れるだけで動く環境が出来るんだからラクだろう
PHP入れる手間でApacheも付いてくるようなものだ
それとここPHPのスレなんだが
PythonやRoRの話したけりゃ別スレ行けよ

1000:nobodyさん
18/09/29 08:37:50.46 .net
プログラマって、なんですか・・・・

1001:nobodyさん
18/09/29 09:09:44.84 N/7exOLA.net
>>976
xamppとかゴミ以下の存在。
開発環境としては、オートリロードもできないし(自分で仕込まない限り)、
本番環境としてはまったく使えないから、プロダクションの知識も役に立たない。
仮想環境とかDockerとか他にもーーっといいやり方がある。

1002:nobodyさん
18/09/29 09:43:37.88 .net
ゴミ以下の理由がオートリロードって…

1003:nobodyさん
18/09/29 11:24:22.81 .net
まるで仮想環境やDockerなら
何もしなくてもオートリロードしてくれるみたいな言い方だな

1004:nobodyさん
18/09/29 20:18:32.22 foWjn8Jy.net
【報道規制の、解禁を】 マⅰトレーヤのUFO出現
スレリンク(sky板)

1005:nobodyさん
18/09/30 00:01:21.98 .net
xamppアンチとか珍種すぎるわ
ただのテスト環境に噛み付くってほんっとうに暇なのか

1006:nobodyさん
18/09/30 05:31:44.75 .net
オートリロードって何だ?IDEの機能じゃね―の?

1007:nobodyさん
18/09/30 10:27:11.81 .net
チートの一種だよ

1008:nobodyさん
18/09/30 11:31:12.85 .net
大鳥ロード

1009:nobodyさん
18/09/30 13:08:36.53 .net
gulpとかだろ?

1010:nobodyさん
18/10/02 23:04:48.21 .net
MANGA版のゴッドマーズも動かないの

1011:nobodyさん
18/10/04 16:45:06.50 .net
次スレ
リンク修正済み
スレリンク(php板)

1012:nobodyさん
18/10/06 09:12:30.09 CwzvffqG.net
Docker Toolboxでphpファイルの入ってるWindowsのディレクトリをマウントして使うと遅い
rsyncやunison syncを使う手もあるが
ちょっと面倒くさい
それ使わないで速く出来ない?

1013:nobodyさん
18/10/06 09:45:15.10 .net
dockerやめれば速くなる

1014:nobodyさん
18/10/10 16:17:39.86 .net
if文で文字列想定の変数を否定演算子でチェックするのはやめてって言われたんですが何故でしょうか

1015:nobodyさん
18/10/10 16:22:20.86 .net
言った人に聞きましょう

1016:nobodyさん
18/10/10 17:10:56.68 .net
空文字""や"0"を想定しないといけないケースなんでは
まぁこれらを文字"列"というべきかどうか…

1017:nobodyさん
18/10/14 22:26:04.60 .net
function setAttribute($attr_name, $value) {
 $this->attr_name = $val;
}
これっていわゆるsetterと考えていいんでしょうか?

1018:nobodyさん
18/10/14 22:38:04.69 .net
>>991
"0"がFALSEになるとかじゃないの
"0foo"でもなるかもしれない
俺もこんなケース覚えてないから文字列長0かどうかで判定している
絶対にやめておいたほうが良いぞ

1019:nobodyさん
18/10/14 22:38:27.97 .net
って>>993に出てたわ、はずかし

1020:nobodyさん
18/10/15 10:29:45.42 .net
そろそろ新スレに

1021:nobodyさん
18/10/15 18:53:06.18 .net
次スレ
リンク修正済み
スレリンク(php板)

1022:nobodyさん
18/10/15 20:20:54.15 .net
ume

1023:nobodyさん
18/10/15 20:21:13.57 .net
1000

1024:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 473日 22時間 47分 4秒

1025:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch