1 名前:デフォルトの名無しさん (ワッチョイ bfb2-csvI) mailto:sage [2017/03/15(水) 00:41:22.79 ID:ko4BTSP20.net] PHPに関する下らない質問用避難スレです。 まず読むこと【PHPマニュアル】 www.php.net/manual/ja/ 前スレ 【PHP】下らねぇ質問はここに書き込みやがれ 7 echo.2ch.net/test/read.cgi/tech/1478657006/ 次スレは>>980 が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。 次スレを立てる時は本文の1行目に以下を追加して下さい !extend:on:vvvvv:1000:512 VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
656 名前:デフォルトの名無しさん [2017/09/27(水) 05:11:15.19 ID:EHqNXxRy0.net] >>643 casperjsはphantomjsより扱いやすいよ
657 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 15:18:44.51 ID:fKb4VnmR0.net] >>628 最後の1行読んだ感じでは DBの正規化という言葉すら理解できてなさそうな臭いがするので DBの設計から勉強し直してみてはどうだろうか? 根本的なところからおかしいので誰もまともに答えられないかと
658 名前:デフォルトの名無しさん [2017/09/30(土) 20:51:24.62 ID:CiKOls/60.net] フレームワーク、例えばcakePHPを習得するまでに みんなどのくらいの期間かかった? フレームワーク初体験で
659 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 22:47:17.93 ID:h2RlFi9m0.net] 新しい言語や技術は書籍で入門するのが当たり前という人にとっては フレームワークはどれもたいへんだよ。
660 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 06:09:17.97 ID:Ae9q61k/0.net] 意欲の問題では フレームワークは別になくてもいいわけで なくてもいいものをわざわざ覚えるのかなんて思いながらやってると なかなか身につかない 仕事でどうしても必要だとかそういう状況なら2週間で覚えるよ
661 名前:デフォルトの名無しさん [2017/10/01(日) 15:24:34.49 ID:mkxY3wW+0.net] >>646 初めてのフレームワークでCakePHPなんか触った時点で迷宮に迷い込んで成長止まる。
662 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 20:10:56.14 ID:GM1LmHU+0.net] PHPって将来あるの?5年もしたらもうオワコンじゃないの?
663 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 20:19:14.76 ID:Ae9q61k/0.net] 言語を意識するような時代が終わりはじめてるのでは 一定のユーザがいる状態であれば安泰だよ
664 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 20:24:12.95 ID:qGSPhC6b0.net] >>650 そう思うならNode.jsでも使っとけばいいんじゃね?
665 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 20:43:25.47 ID:xDL2/91Y0.net] PHPが終わるとは思わん ただタイプヒンティング強化してるからジェネリクスが欲しい RFCにはあるけど誰も実装書かないんだろうなー
666 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 20:51:44.63 ID:ycCVTNJ30.net] 世界中にある動的Webサイトの過半数がPHPで動いてるんでしょ? WordPressも含めて
667 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 20:53:18.27 ID:qGSPhC6b0.net] なんか知らんけど恨みがあるんじゃね?PHPに
668 名前:デフォルトの名無しさん [2017/10/01(日) 21:39:11.63 ID:eMQOw+pd0.net] >>649 んじゃ、初めてのフレームワークでおすすめって何よ?w
669 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 22:53:55.25 ID:UOMkiKCA0.net] >>656 CodeIgniter
670 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 23:04:09.52 ID:UOMkiKCA0.net] >>654 むしろWordPressだけで過半数以上 これらのユーザーがPHPを意識してるとは思えないが 世界中で稼働しているWEB言語のシェアとしてはPHPは圧倒的 逆にWordPressの代替となるアプリが流行すればPHPは一気に消え失せる可能性はある とはいえWordPressのようなパッケージアプリを除いた純粋にPHPを開発言語として利用しているシェアも けっこう高いはずなので急にRubyやPythonやその他の新興言語に入れ替わるもんじゃないとは思う その他の言語がなぜ入り込んでこないかというと、Perlの頑張りがあるからじゃないかと密かに思ってる 派遣を即席で育てて現場に投入できるっていう利点もあるから少なくとも日本だと衰退しないんじゃないかな
671 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 01:21:56.57 ID:VyNVpuqG0.net] Laravelって誰も触れんな 日本では流行ってないか? めちゃくちゃ使いやすいと思うけど
672 名前:デフォルトの名無しさん [2017/10/02(月) 09:30:10.62 ID:yY+xy6Qa0.net] >>658 代替となるアプリもPHPで作られるにきまってんじゃんw PHPはフレームワークを作るための言語だよ? なお、オレは最近は静的型付き言語ばかり書いている。とにかく、楽。
673 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 09:53:14.55 ID:T1SDxagl0.net] おわったっていいじゃん 一生を捧げる言語を一つ選ぶような話じゃないでしょ。 今日の昼はA定食にしようかB定食にしようかって話で、B定食が今後なくなってもA定食食べればいい。 それより食堂がなくなる心配したほうがいい
674 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 21:00:14.97 ID:fIRtXeXL0.net] ec-cubeのソースを見ていたら require_once が書かれてなくて、useだけ書かれているファイルが沢山ありました。 なんで、エラーにならないの?
675 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 21:17:59.72 ID:T8QXjIur0.net] >>662 composer.jsonのautoloadセクションにオートローディングの設定書いてりゃrequire_onceが必要なのはエントリポイントだけ
676 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 21:28:04.49 ID:V+ucx/B30.net] ソース見ないとわからんけど、__autoload とか使ってるんじゃ無い?
677 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 21:30:47.93 ID:fIRtXeXL0.net] >>663 おー、わかった サンクス
678 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 12:46:13.98 ID:HZkkfHm10.net] テスト
679 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 13:00:26.21 ID:HZkkfHm10.net] コード貼ると書き込めないようで・・・ https://ideone.com/UMVJrY いずれも問題なく動作するのですが mb系の関数ってどういうところで使うんでしょう?
680 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 13:48:00.22 ID:PIRKucuZ0.net] strlenの値見てみればいいじゃん
681 名前:デフォルトの名無しさん [2017/10/07(土) 03:33:19.78 ID:E8QcxmPR0.net] cakeのヘンなURLはみんな一々普通の書式に書き換えてるの? /index/limit:3/page:2 ←キモい index/?page=2 ←普通こんな感じだよね フレームワークってたいへんだね
682 名前:デフォルトの名無しさん [2017/10/07(土) 04:28:12.75 ID:n7/qhps90.net] 動けばいいのよ
683 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 07:48:18.63 ID:gc7GFpiH0.net] >>669 むしろ下のURLの方が汚らしいんじゃね
684 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 08:58:47.62 ID:CQDT89una.net] >>671 あまり言ってやるな
685 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 06:58:12.38 ID:CWK8ZE8n0.net] >>669 反吐が出そうなスタイルから一般的なスタイルにしたきゃ paramType を querystring にすりゃいい
686 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 19:54:00.65 ID:31mgpPhM0.net] >>673 dクス 直った。あー気持ち悪かったw
687 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 21:19:07.77 ID:Uwv5PG/i0.net] 静的Pathにするのって、Google対策だっけ?
688 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 12:03:26.40 ID:YlLc/E6M0.net] >>659 世界ではLaravel主流になろうとしてるけど、ちょこちょこバージョン上げすぎなんじゃ 日本語翻訳された頃には次のバージョン出てたらかなわん
689 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 13:13:37.43 ID:h4S41BKFa.net] cake3も同じだわ
690 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 17:56:47.10 ID:xdjFdlld0.net] Symfonyはどうなの? 合計10億ダウンロードを達成したようだが https://symfony.com/stats/downloads
691 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 03:47:35.08 ID:KMdfjBPl0.net] Symfonyは文字数が多くなる気がして 個人的にはイマイチ子
692 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 20:01:46.42 ID:s758Uzmra.net] phpのプレイグラウンドサイトでいいところがあれば教えて下さい https://www.tehplayground.com とりあえず検索して見つかったここを使ってますが もっといいところありますか?
693 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 20:02:50.62 ID:s758Uzmra.net] >>678 すごいスピードで増えてますね 日本の借金のようです
694 名前:デフォルトの名無しさん [2017/10/13(金) 21:02:49.56 ID:NQNcqrHf0.net] Mac Sierra + XAMPPでCakePHP3のインストールが出来ないのだけど、 みんなどうやってインスコしてるの? composerはインスコできたけど、intlが入らない バージョン2はコピペで済んだから楽だったのにな〜・・・
695 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 21:28:05.09 ID:s758Uzmra.net] >>667 ここ良さそうですね php以外にも大量に書けますし
696 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 23:35:56.43 ID:s758Uzmra.net] git for windowsを入れたら gitbashの中でphpも実行できるので便利ですね? コマンドラインと大差ないといえばないですが gitbashは任意のフォルダから始められるところがいいです
697 名前:デフォルトの名無しさん [2017/10/14(土) 04:10:36.29 ID:TNxvk7D00.net] sourcetreeでいいよ どうしてもコマンド打ちたいなら別だけど
698 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 07:17:33.63 ID:sv7zl76da.net] atlassianってtrello買収のニュースで聞いたことがありましたが こういうものを作っていたんですね とりあえずインストールしてみました
699 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 16:05:22.67 ID:sv7zl76da.net] 正規表現では一重引用符、二重引用符ともに エスケープする必要がないと知りました エスケープをしても問題が出ないので今まで気づきませんでした preg_match('/\"/','"',$matches); var_dump($matches); preg_match('/"/','"',$matches); var_dump($matches); どちらの結果も同じになります 何故エスケープする必要のない引用符をエスケープしても 問題が出ないのでしょうか?
700 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 18:01:08.37 ID:sv7zl76da.net] よく考えてみると、引用符をエスケープしなければいけないのは、 それが文字列と外界との境界を形成する特殊な文字だからで、 正規表現では文字列の境界をデリミタが形成するので、 引用符は普通の文字と全く変わりがない、 だから他の「普通の文字」をエスケープしても同じことではないか、 と思ってqで試してみたらやはり同じ動作になりました preg_match('/\q/','q',$matches); var_dump($matches); 正規表現エンジンは、 意味のないエスケープ文字 を単に無視するように出来ているのでしょうか?
701 名前:片山博文MZ mailto:sage [2017/10/14(土) 18:22:55.67 ID:WLIJLkznd.net] エスケープされた文字列を解釈するのはPHPのエンジンであり、解釈された文字列は、PHPの文字列になる。 正規表現エンジンは、
702 名前:桝RPHPの文字列を、正規表現を表す文字列として解釈する。 最初の解釈で、無意味なエスケープはバックスラッシュが無視されるのだから、何も悪いことは起きない。 [] [ここ壊れてます]
703 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 18:34:55.85 ID:sv7zl76da.net] たしかにPHPの場合正規表現もまず最初に普通の文字列に入れられるので >>688 の言い方は適当ではなかったです やはり正規表現エンジンは無意味なエスケープをただ無視するように作られているのですね ありがとうございました
704 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 11:18:23.57 ID:CEYZTvIx0.net] PHP初心者です。 PHPの実行モデルがイマイチ分からないのですが、 これはイベントモデルではなくただのテンプレートエンジンで、 前回の結果(または鯖上でのコンテキスト)を引き継ぐことなく、 毎回毎回ゼロから構築する必要があるって認識で合っていますか? 具体的には、Webページ全体で使われるクラスやdefine()している場合、 それらを毎回includeする必要があるのでしょうか?(今のところそう見えます) クライアントJavaScriptの場合はページ遷移がない限り一度構築した物は使えます。 Nodeは使ったことがないですが、多分同じです。 (これらはイベントモデルだからですが) 毎回毎回全構築となると、余分な構築を省かないと実行速度が気になります。 ドメイン全体で単一アプリを提供する場合は PHPではなくNode等の方が向いているということなのでしょうか? 例えば、dbアクセス用にクラスを作った場合、 それぞれのWebページからはその全メソッドを使うことは通常あり得ません。 だからプログラム的に美しく一つのクラスに纏めるより、 フィールドを継承し、今使うメソッドだけの子クラスに無駄に分割した方が速いのか?とも思えます。 あるいはspl_autoload_register()した場合に、 名前参照だけではなくコンパイル済み状態で格納されるから速度上の問題はない、とかありますか?
705 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 11:55:30.86 ID:s8ygMoJ80.net] >>691 サーバサイドアプリケーションは大体そんなもんだと思うが HTTPでセッションを跨いだクライアントの同一性保証なんて不可能だし コードのパースとかの時間が気になるという意味ならopcacheのようなキャッシュ機構はある とりあえずサーバサイドアプリケーションについて真面目に勉強するならLaravelとかSymfonyのチュートリアルくらいは触ってみたら クライアントサイドとは全く違うから
706 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 13:46:10.80 ID:CEYZTvIx0.net] >>692 了解です。ありがとうございます。 何らかの機構を備えていると勝手に信じていたので、軽く衝撃でした。 (ちなみにGoとかも同じですかね?ご存知であれば) ただこれならPHPは各ページ毎に様々なことをするのには向いていますが、 (とはいえこれが通常のHP用途の90%以上を占めますが) 掲示板サイト等、ドメインで単一アプリを提供する際には本質的に遅いことになります。 別サイトで「こんなのどうよ?」と提案したところ、 「PHPでは無理だから止めろ、どうせNodeを使うことになるぞ」と避難轟々だったのも分かります。 この状況でフレームワークを使っていること自体が結構信じがたいです。 とはいえ今回は共用鯖等超軽量環境向けの為、NodeやGoは選択出来ず、PHPしかないのですが。 (参考) postd.cc/websocket-shootout/ 別件ですが、CSRF脆弱性対策について、 これは単発のリンクを踏んだ(表示した)時用の対策であって、 ガチでのクライアントスクリプト等による攻撃向けではない、という事で合っていますか? 例えば、あるページを表示し、そ
707 名前:アのJavaScriptが実行されるなら、 ajaxでhtmlを取得し、CSRFトークンを取得して、 掲示板にその人が書き込んだように見せかけることは簡単に出来ますが。 [] [ここ壊れてます]
708 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 14:31:37.78 ID:s8ygMoJ80.net] >>693 お前さんが何をしたいのか分からんし衝撃受けるのも勝手だが, クライアントサイドの常識をサーバサイドに持ち込むな PHPに限らずRubyだろうがPythonだろうが何も変わらん NodeやGoや更に言えばC/C++でサーバ作るというのは考えられるがメンテコストが膨らむしデプロイも面倒 その必要が本当にあるのかよく考えろ > CSRF Same Origin Policy
709 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 17:17:04.22 ID:u42Q3jAo0.net] >>694 > PHPに限らずRubyだろうがPythonだろうが何も変わらん いや多分PHP特有ですよ。RubyやPythonは自前で鯖起動しますので。 Railsチラ見しましたがそんな感じです。 https://railsguides.jp/getting_started.html ただ現実的にRubyやPythonは超軽量環境でも使えるのでRailsは選択肢になりますね。 とはいえPHPでもopcacheでほぼ問題ないはずですが。 まあとにかく今は味見中です。 作ろうとしているのは掲示板アプリで、GoやNodeの高性能版はOSSで既にあります。 もちろんPHP版も既にあるのですが、こちらも大体高性能化を目指しているので、 超軽量環境向けの廉価版を作ってみようかと。 AGPLv3で公開する予定ですので、興味があればどうぞ。 https://meguca.org/g/2724701
710 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 17:24:11.11 ID:L1ItWz+aa.net] >>695 Webrickのこと言ってんのか? テストはともかく実用環境でWebrickなんか使わねぇよ 実環境ならUnicorn, PumaとかPassengerがアプリケーションサーバだよ
711 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 22:50:14.72 ID:lMinf0FC0.net] 遅い早いって2ch読み書きするのをストレスに感じないのであれば杞憂でしょう ボトルネックになる部分はPHPの機構なんかよりもネットワーク間の問題のほうが大きいわけで
712 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 00:01:36.25 ID:OoF3Ic3Va.net] 自分もリクエストのたびにこの巨大なフレームワークを読むのか? とひるんだ時がありましたが そこは実行コードをキャッシュする仕組みでカバーできるんですね というか今の人はスタートがnode.jsとかなんだなーという驚きがあります
713 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 00:42:39.22 ID:DJrtJlQd0.net] node.jsってレンサバで動くんか???
714 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 02:50:04.46 ID:N7MUl21Ra.net] vpsでやろ。
715 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 08:53:25.48 ID:twPANPDV0.net] >>699 https://qiita.com/azk0305/items/0bdb0fdab4bc8ebb5909
716 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 23:32:43.30 ID:DJrtJlQd0.net] ふぇ〜さくらってスゴいのね
717 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 01:14:58.17 ID:HUD/bT/k0.net] 別にサクラはすごくないだろ この手の方法はわりとどのレンサバでもできる
718 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 04:14:34.59 ID:UUhSDchZ0.net] >>698 メモリを犠牲にして専用のアプリケーションサーバとそれ専用のフレームワークを作るのは 非常に面倒だけど別に難しいことじゃないのでPHPで作ってもいいのよ
719 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 06:07:25.14 ID:C8ORuPRh0.net] 質問です。PHPとSQLite3共に初心者です。 PHP+SQLite3でatomic counterが欲しいのですが、変更前の値が上手く取れません。 (unique保証が必要です) 散々ググって試行錯誤もしたのですが、上手くいきません。もしかして綺麗には無理ですか? $sql = "BEGIN;"; $sql .= "SELECT count FROM counters WHERE id = 'post';"; $sql .= "UPDATE counters SET count = count+1 WHERE id = 'post';"; $sql .= "COMMIT;"; // $result = $db->exec($sql); // インクリメントされるが肝心の値が取れない $result = $db->querySingle($sql); // なぜかNULLが入っており、インクリメントされない // $result = $db->query($sql); // その後で fetchArray(): Unable to execute statement: cannot start a transaction within a transaction と出てインクリメントされない var_dump($result); なお奇特な方のためのDB設定用コードは以下です。 $db->query('CREATE TABLE counters (id TEXT PRIMARY KEY, count INTEGER)'); $db->query('INSERT INTO counters VALUES ("post", 0)'); atomic自体はUPDATEだけで保証されているのですが、変更前の値をuniqueに掴みたいのです。 用途は例えば掲示板で、自分の投稿が何番か知りたい、とかです。 BEGIN/COMMITでくくらず別々にした場合はunique保証が出来ないのでNGです。
720 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 09:57:21.02 ID:RHJUWC0z0.net] >>705 1回のクエリで実行しようとしたらそらそうなるでしょ あと一意性を保証したいならトランザクション分離レベルをRepeatable Read相当(SQLiteではIMMEDIATEだったっけ)にする必要がある
721 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 10:56:38.81 ID:s8lIkCI50.net] >>695 みたいなPHPのコストについての話が出る度に思うが こういう人って今までどの程度の規模のサービスを扱った事があるんだろ? 10年ぐらい前に俺が個人の趣味の延長で開発してaspとして金取ってたサービス 800万PV前後/日程度だったが 当時のPHP4系・MySQL3系・Apach1系の組み合わせのサーバー1台(DBすら分けてない)で運用できてた レンタル費用をケチろうと思ったんだろう 貸出先が業者にまんまUIパクったようなものを数百万で作らせたら 全然PV裁けなくなって業者に文句言ったら 捌けるようになるまでサーバーを増やせと言われたという笑い話 800万PVなんてここのプロ様に比べたらレベルが低すぎるだろうから 最低1億PV/日ぐらいは想定してるんだろうなきっと
722 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 11:13:26.21 ID:RHJUWC0z0.net] でも実際物理で殴る方がお安く済む, でしょう?
723 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 14:02:18.91 ID:0jVjcAN80.net] >>707 800万pvのサイト今もやってるの?
724 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 14:45:24.76 ID:s8lIkCI50.net] >>709 UIまんまパクったものを業者に作らせてると知った時に そっちへサービス切り替えた瞬間に全部停止する事にしたから当然今はやってない 当時は他でネタ扱いされる程に儲けてたし ちなみに何故それを知ったかというとその業者の開発者の内の1名から 技術的な質問をされたから 当然教えるわけないというか「コイツ頭おかしいんじゃね?」と思った思い出 >>708 今はそうだろうね 当時のこの話の場合、結局パクったシステムのサーバー運用コストの方が高くなったという笑い話
725 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 21:06:15.90 ID:rwpxP9zha.net] PHPでHTMLをパースして、 JavaScriptのquerySelectorみたいなもので要素を選択したいのですが そういうライブラリみたいなものありますか?
726 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 21:39:14.67 ID:uXsqtlL/0.net] phpquery
727 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 21:50:33.21 ID:rwpxP9zha.net] >>712 自分でしこしこ書いてたんですが、もうあったんですね この数日の努力とはなんだったのか・・。 でもありがとうございます
728 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 00:06:15.43 ID:catz1Ji3a.net] >>680 の件ですが phpfiddle.org/ を見つけました 関数の補完があるのが良さそうです
729 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 00:30:04.05 ID:catz1Ji3a.net] JavaScriptのプレイグラウンドはcdnからライブラリを読み込めますが PHPのプレイグラウンドでライブラリを読めるものはないのでしょうか?
730 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 00:45:02.72 ID:c6Rft4Lma.net] というかプレイグラウンドなのにライブラリ読み込めないって 全然遊べないですよね・・
731 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 05:41:41.19 ID:IAqZZNli0.net] >>706 少し紛らわしかったので補足します。 705のコードはSQLite3では意図したようには動きません。 ただしMySQL等他DBなら動くようです。(FOR UPDATEはSQLite3ではエラー) https://dba.stackexchange.com/questions/61603/how-to-query-and-increase-a-value-counter-in-a-thread-safe-way-avoid-race-co 或いは以下の書き方も出来るようです。 $sql .= "UPDATE counters SET count = (@cur_value := count)+1 WHERE id = 'post';"; $sql .= "SELECT @cur_value;"; www.sqlines.com/mysql/how-to/select-update-single-statement-race-condition 問題はSQLite3ではこれらが出来ないことです。 ググル限り、UPDATEとINSERTの戻り値はAndroidでは取れており、 naichilab.blogspot.jp/2013/06/sqliteinsertautoincrement.html android.roof-balcony.com/shori/strage/insert/ これらはPHPでは SQLite3::changes SQLite3::lastInsertRowID であり、 rowID===INTEGER PRIMARY KEY なので、INSERTして取る方法でとりあえず回避しました。 https://www.dbonline.jp/sqlite/table/index8.html www.sqlite.org/autoinc.html 以下コードになります。 $sql .= "BEGIN EXCLUSIVE;"; $sql .= "INSERT INTO logs VALUES ((SELECT count FROM counters WHERE id = 'post'), date('now'), '$data');"; $sql .= "UPDATE counters SET count = count+1 WHERE id = 'post';"; $sql .= "COMMIT;"; $result = $db->exec($sql); var_dump($db->lastInsertRowID()); カウンタに対して2回クエリしているのが無駄なんですが、何とかなりませんかね? (とはいえこちらは我慢できる範囲ですが) なおスレ毎にtableを分ける予定ですのでAUTOINCREMENTには出来ません。
732 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 05:42:26.75 ID:IAqZZNli0.net] 次の質問です。 PHPの出力の終了を宣言することは出来ますか? (そこで一旦通信を終了させ、その後は(ユーザから見て)バックグラウンド的に処理する) ob_end_clean()はバッファのオフであって終了宣言ではないように見えます。 register_shutdown_function でリクエストの一部にはならない版が欲しいのです。 具体的には、PVの話が出てきて、それもいいなと思ってRead側にもカウンタをつけたものの、 Read/Writeで100倍くらい違うのでこの処理を分けたいのです。 ・マルチスレッド(pThread) ← インストール必要 ・非同期 ← フレームワーク必須 のため、 ・</html>送信後はユーザー側には見えなくなるのでここでやらせる という作戦を考えましたが、見た目それようの関数がなさそうです。 詳細は後述しますが、これが出来ればユーザ側レスポンスが0.2秒ほど早くなります。 或いはReadに関してはApacheのログをcron等で処理させる方がいいのでしょうか? ちなみに速度ですが、もう既に遅いです。 XAMPPのローカル環境ですが、純粋にReadだけなら100pv/s程度で、 PVカウンタをDBに持たせるとそこに書き込みが行われ、2pv/s程度まで落ちます。 投稿ならこの倍遅く、1pv/sec程度になります。 まだ味見程度で、全部で100行くらいしか実行してないんですけどね。DBもスカスカですし。 8Mpv/day=100pv/sというのは、ちょっと言い過ぎでは? 或いは304にするかCloudFlare等活用しないと厳しいと思われます。 8ch.netはvichan(PHP+MariaDB)で40kposts/day=0.46posts/sを処理できませんでしたし、 桁はこれで合っていると思います。 だからってGoやNodeがどれほど速いのかは知りません。 (なお上記はスループットではなくレイテンシからの算出なので、実際はこれより早いはずですが) なお実はBBx規制されており、代行してもらってます。 あまり面倒をかけるのも悪いので、以下に来てくれれば歓迎します。 https://meguca.org/g/2746787
733 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 06:48:41.64 ID:QGH5jOmla.net] >>718 迷惑だな
734 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 09:38:34.01 ID:ZpnTdM5ra.net] >>713 の件ですが 動作を確かめていますが、 phpquery、jqueryのセレクタが全部動いて素晴らしいですね
735 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 09:42:25.90 ID:rF9hS7IgM.net] >>718 どんなマシン使ってるか知らんし、どれくらい書き込んでるし分からんが、いくら何でも遅すぎる 根本的になにかが間違ってると思うよ
736 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 12:36:34.56 ID:v7V1Syde0.net] 8Mpv/day=100pv/sが言い過ぎってさ… 実際に10年前に今より貧弱な環境で稼働させて aspとして金を稼いでたサービスなんだけど(MAXで1000万/日超えた日もあった) PHP4だったというのもあるけどさ オブジェクト指向なんて全く理解してなかったしフレームワークも使ってない クラス1個も使わずにfunctionとヒアドキュメントの組み合わせ 名前空間なんてものも当然なかった DBへのアクセスが極力発生しないようにはしてたけど俺のレベルは糞低いぞ サーバーのログはテキストでも壊れない…って事は全部テキストキャッシュにしてそれを読めばいい!と何でもテキストにしてたw 頭の悪い俺なりの発想
737 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 12:37:11.21 ID:v7V1Syde0.net] 昔こんな人と仕事をした事がある 色んな言語やデザインパターンを熟知してて PHPも「これぞオブジェクト指向だ」と唸る程に素晴らしいコードを書ける めちゃくちゃ頭が良いのが少し話すだけで分かるような人だった(後から知ったが東大卒だった) でもその人が作ったサービスは激重で運用できなかった 俺は技術もないし頭が悪いからその人の何が悪いかは分からなかったけどw お前らすごいね 実行レベル?イベントモデル? pThreadだのGoだのNode.jsだのCloudFlareだの 俺には全然分からんわw それでどんなサービスができるの?何人ぐらいに使ってもらってどれくらい捌けるの? って事にしか興味がない だってさ、使う人にとっては何の言語で書いてるとか関係ないじゃん これだからPHPerは…って言われるんだろうけどこれでも金はそこそこ自慢できるぐらいは稼いできたからなぁ…
738 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 14:36:39.14 ID:ZpnTdM5ra.net] PHPもwebrickやnode.jsみたいに それ自体でサーバになればテストに便利なのに と思って検索したら標準でビルトインウェブサーバーっていうのがあったんですね
739 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 21:26:02.74 ID:451ejlL00.net] 君は知らなかったかもしれないがそれ標準で組み込まれてもう5年半なんだ
740 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 22:56:18.69 ID:/mn5vVDsa.net] 長い間情報収集を怠っていたので 世の中想像以上に便利になっててびっくりします
741 名前:デフォルトの名無しさん mailto:sage [2017/10/19(木) 04:05:45.17 ID:lZeER9v70.net] >>721 こちらは桁が分かってないので助かります。 マシンは2007年製のポンコツで、書き込みは数文字だけですね。 レイテンシからスループットへの換算はやはり無理があるとして、 レイテンシだけにしても遅いので、問題もあるのだとは思います。(外部サイトの方が速い) www.techempower.com/benchmarks/#section=data-r4&hw=ph&test=db >>722-723 opcacheの無い状態だと、コードを美しく整えれば整えるほど遅くなるから、 それを最初に確認したのです。>>691 君が書いたコードは細切れのバラバラで、 結果的に使う部分だけ走行するから速かったのでしょう。 それの方がよければそうすればいいだけです。 > 全部テキストキャッシュ 結果的に静的ファイルでキャッシュが効いたということでしょう。 今も同じ問題がCloudFlareにもあります。 > って事にしか興味がない 結果指向なのは正しいと思いますよ。 プログラミングはあくまで手段であり、目的ではないので。 特にネット上だと本末転倒になっている人も散見されます。 全く考えないのも問題ですが、考えすぎて手が止まっているのも問題です。 なおPHPerは最も馬鹿にされているらしいですが、JavaScripterよりマシな気はしますよ。 そしてデザインパターン/言語コレクターは使い物にならないと個人的には思います。
742 名前:デフォルトの名無しさん mailto:sage [2017/10/19(木) 04:06:52.86 ID:lZeER9v70.net] 次の質問です。 以下環境でtidewaysが動作している人は居ますか? A. PHP7.1, Win32, x86 B. PHP7.1, Win32, x64 C. PHP7.1, Linux on VM (つかPHPerの標準環境ってこれ?) または D. tidewaysのWindows用ビルドに成功した人、または挑戦する気がある人 こちらはA環境で入れてはみたものの、上手く動きません。 (ライセンス無し、XHPROFの代用での使用) 反応はしており、walltimeが 0, -2,147,483,648, -4,294,967,296 なので、31bitずれています。 おそらくHPETの問題で、以下の https://github.com/tideways/php-profiler-extension/blob/master/tideways.c#L3308-L3336 のところを修正すれば動く可能性があります。 ただこれはマシンにもよるし、ビルドは嵌る可能性が高い為、 VM等含めて動いている人が居るのであれば動くマシンを探し、駄目なら諦めかと。 誰かビルドに挑戦するのであれば協力はします。 なおビルドオプションは以下が参考になります。 https://ci.appveyor.com/project/tideways/php-profiler-extension/build/4.0.4.215/job/kmxa1he0cjomvjpr 或いは他プロファイラーでいいのがありますか?
743 名前:デフォルトの名無しさん mailto:sage [2017/10/19(木) 12:16:50.62 ID:NzzKiK+50.net] > プログラミングはあくまで手段であり、目的ではないので。 > 特にネット上だと本末転倒になっている人も散見されます。 > 全く考えないのも問題ですが、考えすぎて手が止まっているのも問題です。 自己紹介乙
744 名前:デフォルトの名無しさん mailto:sage [2017/10/19(木) 12:28:28.36 ID:FE92wYZta.net] 僕はプログラミングが目的で仕事はついでです
745 名前:デフォルトの名無しさん mailto:sage [2017/10/19(木) 22:44:13.21 ID:KjwMHyuL0.net] Windows CLIアプリで、EMAILなんかのJIS(ISO-2022-JP)文字コードのファイルを、 読み込んで変換して表示することは出来るのですが、 PHP自体をJISにして、そのPHPに書かれている日本語をechoすると、 undifined variable $Bのようなnoticeが出ます。 もちろんちゃんとコードページにあった文字コード(cp932)に変換はしているのですが、 変換以前に日本語が変数と認識されてしまうようで、うまくいきません。 PHPをJISで保存するなんてことは普通しませんが、 JISでPHPを保存した場合でも、Windows CLIでうまく動作させる方法はありますか? ttp://tsuttayo.jpn.org/bbs/read.php?FID=2&TID=519 このような記事を見つけて、書かれてる設定を加えてみたのですが、エラーは消えませんでした。
746 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 20:31:39.76 ID:OAuKO2/4a.net] PHPをJISで実行しなければいけない理由は何ですか?
747 名前:デフォルトの名無しさん mailto:sage [2017/10/21(土) 08:07:53.66 ID:7N/u1SNi0.net] >>732 もし数行で対処出来るようなら取り入れようという感じのもので、 出来ないなら出来ないで構わないのですが、 JISで上書きしなおされるというイレギュラーに対処するためです。
748 名前:デフォルトの名無しさん mailto:sage [2017/10/21(土) 10:33:40.68 ID:LXe9cSfz0.net] PHPで作った自作のフォームに書き込みがなされると メールで通知してくれるようにしている。 鯖の移転を考えてるんだけど(具体的にはByetという海外無料鯖) あいにく候補の移転先はsendmailに非対応だったりする (スパムメール対策だとか) こういうときってどうやったらフォームへの書き込みを自分宛に 通知させることができるかな?
749 名前:デフォルトの名無しさん mailto:sage [2017/10/21(土) 13:19:00.37 ID:jXM7J8Fl0.net] >>733 PHPCSに掛けよう 大抵のルールセットはソースがUTF-8以外で書かれていればエラー扱いにしてくれる internal_encodingの問題じゃないかとは思うが, 不正な文字コードで保存された場合にはリポジトリにpushされる時点でエラー通知が飛ぶようにするべきだな
750 名前:デフォルトの名無しさん mailto:sage [2017/10/21(土) 13:59:33.75 ID:ZxQy+kqda.net] PHPとGoって何が違うの?LIGが自社サービス開発にGo言語を採用したお話 https://liginc.co.jp/284306 >Go言語がPHP 7の30倍、PHP 5.6と比べるとなんと82倍にも及ぶスピード こんな記事を見つけました OPcacheなどを使った場合と比べてどうなのでしょうか? 自分の考えるPHPの魅力は、 Javaからパクったオブジェクト指向、 標準の関数でウェブやデータベースアクセスが色々できて面倒くさくない、 といったものがありますが、 Goのようなモダン言語ならそのあたりもクリアしてるんじゃないかと思います どうなのでしょうか?
751 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 07:41:34.63 ID:6vhnloCO0.net] 他スレへGo!
752 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 08:49:39.36 ID:FIB6YbKNa.net] >>734 このbyetってところいいですね cronも使えるし
753 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 11:43:49.92 ID:hechdin40.net] >>738 うん、いいところだな、と思ったら肝心のsendmailが動いて無くてな・・・ フォームに書き込みがあるとリアルタイムでメールで通知してくれるプログラムを PHPで組んでいたんだが、さてどうしたものか・・・
754 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 12:04:54.94 ID:UtqkZ3+I0.net] 例えばプロバイダ等のメールサーバを使えばいいんじゃないか? もしくはAWSのSEDとかも少量なら無料。
755 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 12:08:52.24 ID:hechdin40.net] >>740 PHP(しかも管理人でも無い末端のユーザーに)からGmailのSMTPサーバー利用できるの?
756 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 13:05:50.25 ID:4HKeVMJe0.net] ソケット使ってサーバーとお話し合いすれば出来そう
757 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 18:46:14.40 ID:N3puxcTpa.net] byetでRSSの出力をしようとしていたのですが、どうもうまくいかないので 調べていたのですが byetに置かれたファイルを他のサーバから読むと、 This site requires Javascript to work, please enable Javascript in your browser or use a browser with Javascript support みたいなページに変わることに気づきました ブラウザ以外のユーザエージェントから読まれることを禁じているようですね やはり無料のサーバは何かしらあるのですね ブラウザからPHPも編集できて、これこそプレイグラウンドやんと思ったのですが・・
758 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 19:45:40.22 ID:UtqkZ3+I0.net] >>741 出来ない理由がないでしょ? sendmailにこだわるんだったら話は別だけど
759 名前:デフォルトの名無しさん mailto:sage [2017/10/22(日) 20:10:10.98 ID:hechdin40.net] >>744 今までmail()を使ってメールを送信していたんだけど この関数使ってsendmail以外を選ぶことって可能?
760 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 15:31:30.11 ID:fxiC9AE30.net] >>735 面白そうなものを紹介していただき、どうもありがとうございます。 早速導入して検証してみようと思います。
761 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 18:29:23.56 ID:n7tiHTCJ0.net] 環境で詰まったというわけでなくプログラミングを勉強してる時に気になったことがあるのでテンプレ無しですがよろしくお願いします インターフェースがクラスの設計書っていうのは説明読んでて理解出来たんだけど、例えば問い合わせインターフェースから最終的に問い合わせA,B,C,Dのクラスを作る前提で各クラスにはインターフェースで定義したメソッド1,2,3があるとします メソッド2,3はクラスによって処理は違うけどメソッド1は処理が同じという場合はどう設計するのが良いのでしょうか? 共通の処理がなければ各クラス共にインターフェースを継承して作ればいいと思ったのですが、共通の処理がある場合まず問い合わせのベースとなるクラスを作ってそれを継承して各クラスを作るのが正解?
762 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 18:54:12.29 ID:EbwleLYx0.net] >>747 抽象クラス
763 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 19:03:19.99 ID:n7tiHTCJ0.net] >>748 もう少し本読み進めてから質問すればよかった・・・ ありがとうございます!
764 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 19:53:41.90 ID:1HzbJqCQ0.net] >>747 トレイト
765 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 21:05:52.52 ID:tJp0k/Rla.net] phpDocumentorの書き方ですが クラスや関数や変数宣言ではない部分に書くコメントの場合でも /** */ という記法で書くのでしょうか?
766 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 21:39:37.94 ID:tJp0k/Rla.net] それを元にドキュメントを作るのがphpDocumentorの目的ですが インターフェイスと関わらない部分のコメントはドキュメントに載らないので、 この記法で書く必要はない気もしますが コメントの記法を揃えないと、それはそれで気持ち悪いです
767 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 23:29:47.09 ID:Tv/dpLrE0.net] >>745 mailだったら何もしなくてもメールサーバー設定すりゃいいだろ PHPのマニュアルにそのままgmailの送信サンプルあるのに何が不満なんだ? あまり無料鯖は使わないほうだが規制にひっかかったことないぞ
768 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 00:07:15.92 ID:8OgpvEir0.net] 素直にswiftmailerとか使うのが賢いと思うの
769 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 20:09:11.71 ID:4zuQt35qa.net] PHPのバッチプログラムをcronで実行させた時に 期待した通りに動きませんでした 調べたらcron時はカレントディレクトリが スクリプトのあるディレクトリではなく実行ユーザのホームディレクトリになるので ファイルが思わぬ場所に作成されていたのでした ファイルアクセスは基本的に絶対パスでやるべきなのですね ですが、include_onceは相対パスで書いていたのに正常に動作していました 絶対パスで書く方が安心できるとは思いますが、 includeの場合は気にしなくていいのでしょうか?
770 名前:片山博文MZ mailto:sage [2017/10/24(火) 20:22:12.50 ID:+CxSIN/Vd.net] >>755 データ展開を考えると、相対パスの方が便利だ。絶対パスがコロコロ変化する一方で、他方で相対パスが変化しないなら、相対パスの方がデプロイコストが低くなる。
771 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 20:24:10.80 ID:vrotHuwu0.net] オレも相対パス派
772 名前:片山博文MZ mailto:sage [2017/10/24(火) 20:38:04.82 ID:+CxSIN/Vd.net] 絶対パスを要求する場所では絶対パスを使う。相対パスを使ってもパスのリンケージが壊れない場所では相対パスを使う。
773 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 20:59:24.65 ID:yBPDUg+O0.net] >>754 > 素直にswiftmailerとか使うのが賢いと思うの swifmailer調べてみた、インストール作業が必要なのね レンタルサーバーだからインストール作業はちょっと・・・ 代わりにPhpmailerってのが使えるみたい。これはファイル置くだけでいいっぽいから。 >>753 > PHPのマニュアルにそのままgmailの送信サンプルあるのに何が不満なんだ? これのことかな? Byetってレンサバだからsendmail.iniやphp.iniの改変は不可能なんだわ(´・ω・`) php.net/manual/ja/function.mail.php Changes required in sendmail.ini smtp_server=smtp.gmail.com smtp_port=587 error_logfile=error.log debug_logfile=debug.log auth_username=your-gmail-id@gmail.com auth_password=your-gmail-password force_sender=your-gmail-id@gmail.com Changes required in php.ini SMTP=smtp.gmail.com smtp_port=587 sendmail_from = your-gmail-id@gmail.com sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t" ;sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"
774 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 21:09:39.54 ID:Q75mHsE3a.net] >>759 composer使えよ
775 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 22:58:25.66 ID:4zuQt35qa.net] 絶対パスと言ってもベタ書きではなく__DIR__を使って そのファイル基準の絶対パスを実行のたびに作るやり方なら ファイルの場所が変わっても問題は起きにくいのでは? でもたしかに絶対に絶対パスを使った方がいい、というわけでもありませんね ありがとうございました
776 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 16:08:42.06 ID:Cr59jy+d0.net] >>761 __DIR__ あたりで絶対パス取って chdir()でカレントディレクトリはここだと決めて それから後は全部相対パスを使うようにすればいい そうすれば>>755 で書いてるようなミスは絶対に起こらないし テスト環境と本番環境の差異も簡単に吸収できる あとライブラリの読み込みはなるべくオートローダーを使った方がいい
777 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 16:19:44.89 ID:Cr59jy+d0.net] >>759 根本的に勘違いしてるっぽいし あなたにレス付けてる人にも色々と問題があるので 今まで付いたレスは全部忘れた方がいい まず、メールを送る方法は大雑把に2種類ある 1.自分のサーバーのMTAから送る方法 2.外部のSMTPサーバーを使って送る方法 あなたは今まで1の方法で送っていたが、 移転先では1の方法は使えないので2で送ると良い 例えば何らかのメールソフトを送ってメールを送ってると思うが、 それは2の方法なわけ(SMTPサーバーを設定するところがあるよね?) だからPHPでも同じように2の方法で送れば良いだけ お手軽なのはあなたも書いてるPHPMailer WordPressなんかでも実績のあるライブラリで メールソフトにSMTPサーバーを設定するのと同じ感覚で初心者にも簡単に使える 稀に脆弱性も見つかってるが、あなたの用途にはピッタリの筈 蛇足だが今時sendmailを使ってるところなんてまずない PostfixあたりのMTAがsendmailと互換性があるように動いてるだけ
778 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 16:29:03.87 ID:Cr59jy+d0.net] ×何らかのメールソフトを送ってメールを送ってると思う ○何らかのメールソフトを「使って」メールを送ってると思う 訂正のついでに、ややトリッキーな手段としては、 A.MTAが使えるサーバーにおいた send.php B.MTAが使えないサーバーおいた put.php put.phpからsend.phpへ何らかの手段で送信メールの内容を送って(練習なら別にHTTP POSTとかでいい)、 send.phpを使ってメールを送るという手段なんかもある APIみたいな使い方やね
779 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 17:44:25.69 ID:hphlT9kR0.net] レンサバのlocal mtaが使えないような環境のことで質問されてるのに php.ini編集してmail()関数で送れといってみたり(つか今時mail()関数でメール送るやつなんかいねーよw) composer使えといってみたり(composerと書きたかっただけだろw) 別の質問で相対パスか絶対パスかとかさ(てかnamespaceとオートローダー使えw) 色々酷すぎるとおもってレスしようとしたらほとんど全部書かれていたでござる
780 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 18:05:21.53 ID:Cr59jy+d0.net] 使えないSEや仕事の遅いPGとかに多い たったそれだけの事に何故わざわざそんな事をやるわけ?と問いただすと 結局は知識や経験不足で特定の方法しか知らないのが理由 色んな方法を知った上で相手に合わせた方法を提案するのがまともな人 SMTP使ってメールを送れば良いだけの話なのに いやいや流石にそれは待てと長文も書きた
781 名前:くなるw [] [ここ壊れてます]
782 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 19:02:43.76 ID:iV0okkYXd.net] ITベンダは複数の選択肢なんて用意しないよ 社内に事例がないことはやらない
783 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 20:09:10.79 ID:eczzyF0za.net] >>762 カレントディレクトリを早い時点で設定していても その後ライブラリの中で再設定されない保証もないのでは? もちろん、そんなことするのはライブラリとして駄目ですが、 可能性としてないわけではありません
784 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 20:18:09.39 ID:iHcJH4nT0.net] >>763 丁寧なレスありがとうm(_ _)m おかげさまで安心してPHPMailer使えそう ただ一点、SMTPサーバーのパスワードを平文で保存しないといけないのが気になるけど ファイルのアクセス制御をしっかりかければ第三者から見られるわけでも無いし レンタルサーバーの管理人からは見られちゃうけどそこは管理人を信用することにしますノシ
785 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 20:59:55.31 ID:JdF6ntjza.net] そりゃ手でも入れられるけどPHPMailerにせよSwiftMailerにせよcomposerの方が楽じゃん グローバルに入ってなくてもphpコマンドさえ叩ければ使えるし最悪ローカルで操作してvendorごとアップロードもまぁ出来るしな
786 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 21:08:30.16 ID:BtMPlyUb0.net] やっぱり共有フォルダにデータ書き込むのは無理? phpを対話ログイン可能なユーザーで実行するしかない?
787 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 09:22:38.49 ID:gzc+jHaK0.net] >>770 そんな事はたぶんみんな分かってるよw ITベンダ()とかいい出しちゃってる人までいるしもういいよw
788 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 09:32:12.60 ID:gzc+jHaK0.net] >>768 ただのヘリクツだな それを言い出すとオートローダーにしたって 元の定義を上書きするような挙動を後付で定義して めちゃくちゃにすることだってできる場合もあるわけでして それよりPHPerはもうちょい鯖の知識を付けた方がいい そもそもPHPが何のユーザーでどういう権限で動いてるのか分かってたら cronでミスなんかしないんだよね
789 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 09:40:31.55 ID:gzc+jHaK0.net] >>768 あと元のレスの > include_onceは相対パスで書いていたのに正常に動作 に誰も答えてないみだから書くけど phpinfo()でいいからinclude_path確認してみ たぶんそっちから読んでたんでしょ includeのPHPマニュアル読むといいかもね なのでinclude_pathを変えるなんて方法もないわけじゃないけど 普通はやらない
790 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 10:21:31.02 ID:gzc+jHaK0.net] >>769 > SMTPサーバーのパスワードを平文で保存しないといけないのが気になる 色々方法はあるけど 1.SMTPサーバーの設定を配列とかにしとく 2.1にserialize()かけて文字列にする 3.2に可逆式の暗号化をかける 4.どこか適当な場所に保存 設定を読み込む時は4⇒1の順に逆の事をすればいいだけ これだと数行で書けそうだし楽かも さらに言えばgmailなんて無料でいくらでもアカウント作れるので 新しく捨てアカ作ってそのID/PASSを使えばいいw
791 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 21:02:24.29 ID:tRiMi79S0.net] >>775 dd ちゃんと暗号化のやり方ってあるのね ありがとうノシ
792 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 03:22:58.82 ID:4DLzKJg10.net] なんか自宅にテスト用のCentOSマシン欲しくならね?
793 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 06:29:55.24 ID:1txrbLzrd.net] シェル使えるレン鯖でいいだろ もしくはVPS
794 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 07:15:15.66 ID:XNLqI4Wk0.net] item(0)->length; //itemは配列としてitem[0]のstrlen item->length; //itemは配列としてcount(item)のような感じ プロパティの部分はメソッドでもいいですが こういうのってどうやって実装するんですか? $thisを返すとメソッドチェーンが出来るのはわかるのですが $this配列にしないと返せないしそうするとitem(0)[0]みたいな参照になってしまって カッコ悪いしそんな表記は見たこともないので
795 名前:779 mailto:sage [2017/10/27(金) 07:31:39.80 ID:XNLqI4Wk0.net] 忘れてましたが環境は5.4でお願いします
796 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 15:57:31.80 ID:Q4ZTdDse0.net] >>777 一人でやるならDocker使ってCentOSイメージ使ってコンテナ立てるのが一番楽で早くて手軽だ VirtualBoxとかVagrantの時代は過ぎた
797 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 17:25:24.66 ID:nbs4Y8NPa.net] curlにオブジェクト指向のインターフェイスはないのだろうと思って調べていて CURLFileというのを見つけたのですが、何か思っていたのと違います 普通curlへのアクセス自体をオブジェクト指向化しますよね? php.net/manual/ja/curlfile.construct.php を見ると、 オブジェクトを使って手続き型の処理をしていてびびりました どうなっているのでしょうか?
798 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 18:05:39.00 ID:wVlMe2dFa.net] 無名関数のuseに配列の要素を渡したいんですがuse($hoge['piyo'])と書くとエラーになります 一旦別の変数に代入するか配列ごと渡さないとダメですかね?
799 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 23:11:25.54 ID:diny/lofa.net] CURLOPT_RETURNTRANSFER をtrueにしたら結果が文字列で返ってくる→分かる falseにしたら結果が標準出力に出力される→は? curl実行の際の出力を抑制するためにはtrueにするのが必須になりますが 結果取得のためのtrueなのか出力抑制のためのtrueなのかがはっきりせず、 イケてないと言わざるを得ません 「標準関数なのだから相当の試行錯誤の結果作られているのだろう」 という予想がPHPの場合は通用しませんね?
800 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 01:33:02.73 ID:YoZCditl0.net] >>783 そのまま$hogeで渡して中で展開するか、別の変数に入れるか >>784 通用しない
801 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 07:55:58.34 ID:QrqdVCJa0.net] hogeとかbarって何なんです?
802 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 23:08:37.14 ID:qzigG1UZ0.net] 読んで字のごとく
803 名前:片山博文MZ mailto:sage [2017/10/28(土) 23:11:10.51 ID:TWx2GtJid.net] >>786 特に意味がない名前を付けたものだ。名前の意味は気にしないでいい。ただ名前は他と区別するためにある。
804 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 23:13:38.01 ID:QDh5TOuc0.net] こっそりhageとかに変える
805 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 01:45:02.78 ID:scCjgZM20.net] この$hogeーーー!
806 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 01:55:09.22 ID:wekqFwi10.net] PHPのデバッグの仕方教えておくれ!!
807 名前:片山博文MZ mailto:sage [2017/10/29(日) 02:02:51.30 ID:k1qoOab2d.net] >>791 警告とエラーの違いはわかるか? テストでは警告はすべて出力させる。 PHP7ではassertが使えるので、活用するように。
808 名前:片山博文MZ mailto:sage [2017/10/29(日) 02:11:50.01 ID:k1qoOab2d.net] ちなみにPHPのIDEはPhpStormがオススメだ。
809 名前:片山博文MZ mailto:sage [2017/10/29(日) 02:25:50.82 ID:k1qoOab2d.net] C/C++などでも一般に言えることだが、IDEのデバッグ機能はユーザーによって実行を制御したり、変数の中身を確認できる。例えば、指定した行で実行を止めたり、少しずつ実行させたりできる。
810 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 10:41:47.50 ID:htd7uCcc0.net] file_get_contentsを何回かやるので、関数化しました。 header部分も欲しいので、$http_response_headerも一緒にreturnするようにしたのですが、 関数化前と違うものが返ってくるようになりました。 キャッシュか何か残ってるのでしょうか?何が原因でしょう? Set-Cookieヘッダを使うので、返ってくるものが違って挙動がうまくいかなくなって困ってます。 ベタ書きすればうまく動作するのですが、コードがどうしても長くなって読みづらくて。
811 名前:795 mailto:sage [2017/10/29(日) 10:46:01.97 ID:htd7uCcc0.net] 補足です。関数内で何回かfile_get_contentsをやってるわけではありません。 関数内では1回しか使っていません。 前後に共通のコードが書かれてたり、file_get_contentsのリクエストヘッダを少し変えてます。
812 名前:片山博文MZ mailto:sage [2017/10/29(日) 11:10:05.24 ID:k1qoOab2d.net] 二つの戻り値をどういう風にreturnしてる?
813 名前:片山博文MZ mailto:sage [2017/10/29(日) 11:25:49.77 ID:k1qoOab2d.net] ソースをアップするのが確実だけど、公開できないの?
814 名前:795 mailto:sage [2017/10/29(日) 11:26:37.79 ID:htd7uCcc0.net] >>797 配列です。 return [ $http_response_header, $body ]; おかしいのは、どうもSet-CookieのセッションIDが変わってしまってるのが原因のようです。 'http' => [ 'header' => "Cookie: " . $this->getCookie($url) . "\r\n" ] 毎回このようなクッキー送るコンテキストは指定して、 file_get_contentsしてから、新規のクッキーは、 $this->setCookie($url, $http_response_header); という具合にしてからreturnしています。 ベタ書きだとちゃんと動作します。
815 名前:795 mailto:sage [2017/10/29(日) 11:31:50.57 ID:htd7uCcc0.net] >>798 private function request($url, $context = null) { $http_request_header = null; if (!$context) { $cookie = $this->getCookie($url); $context = [ 'http' => [ 'method' => 'GET', 'protcol_version' => 1.1, 'ignore_errors' => true, 'header' => 'Host: ' . parse_url($url)['host'] . "\r\n", 'Cookie: ' . $cookie . "\r\n", "Connection: close\r\n" ] ]; $body = file_get_contents($url, false, stream_context_create($context)); $this->setCookie($url, $http_response_header); return [$http_response_header, $body]; } こんな感じです。
816 名前:795 mailto:sage [2017/10/29(日) 11:33:41.53 ID:htd7uCcc0.net] インデント調整ミスってif文の閉じ消してしまいました。 private function request($url, $context = null) { $http_request_header = null; if (!$context) { $cookie = $this->getCookie($url); $context = [ 'http' => [ 'method' => 'GET', 'protcol_version' => 1.1, 'ignore_errors' => true, 'header' => 'Host: ' . parse_url($url)['host'] . "\r\n", 'Cookie: ' . $cookie . "\r\n", "Connection: close\r\n" ] ]; } $body = file_get_contents($url, false, stream_context_create($context)); $this->setCookie($url, $http_response_header); return [$http_response_header, $body]; }
817 名前:片山博文MZ mailto:sage [2017/10/29(日) 12:34:43.84 ID:k1qoOab2d.net] Cookie に =>がない。
818 名前:片山博文MZ mailto:sage [2017/10/29(日) 12:35:56.57 ID:k1qoOab2d.net] じゃなかった。カンマとピリオドを間違えている。文字列をつなげるのはピリオド。
819 名前:795 mailto:sage [2017/10/29(日) 12:40:46.31 ID:htd7uCcc0.net] >>802 レスありがとうございます。 そこはドット演算子で連結しているのでそれで問題ありません。 って・・・ドットじゃなくてカンマになってる。 お恥ずかしい。エラーにもならないので気づきませんでした。 どうもありがとうございます。無事動くようになりました。
820 名前:795 mailto:sage [2017/10/29(日) 12:41:28.48 ID:htd7uCcc0.net] リロードしてませんでした。感謝!
821 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 15:35:37.96 ID:DVVe4DD2M.net] IDEとxdebug使ってのデバッグがイマイチ使いこなせないわ 毎回設定してはめんどくさくてやめる フレームワークとか作る仕事ならまだしも、 フレームワーク使ってつくるもんだと変数トレースしたいとか ブレイクポイント使いたいとかあまりない気がしてて 複雑怪奇なシステムとか作るなら必要なんだろうが iOSアプリとかのSwiftとかだとないと厳しいけどさ
822 名前:片山博文MZ mailto:sage [2017/10/29(日) 15:38:34.24 ID:k1qoOab2d.net] モダンブラウザなら、ブラウザからでもデバッグできるし、色んな機能があるよ。
823 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 17:24:25.73 ID:xmzrQ2Sc0.net] もうechoと打たなくていいんだ!
824 名前:デフォルトの名無しさん [2017/10/29(日) 17:27:03.74 ID:lZu6ERZg0.net] 有料のPHPStormじゃなくて 無料のnetbeans使ってバグ全部取ったのに ブラウザが真っ白のまま もう何がなんだか・・・
825 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 22:41:34.91 ID:RyqL6Q1z0.net] バグ全部取りきれてないんだろ
826 名前:片山博文MZ mailto:sage [2017/10/29(日) 22:51:58.54 ID:k1qoOab2d.net] >>809 警告をオンにしてhtmlソース見ろよ
827 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 00:11:23.58 ID:UPoKErNA0.net] >>809 netbeansでもxdebug使えるからトレースすりゃいいんじゃないの? バグじゃなくてエラーを全部なくしただけでしょ? 本当のデバッグはそこがスタートだよ どうせエラー表示したら500エラーが出てるよ >>806 作り方がうまいからじゃねーの まぁ、新規で使うことは少ないけど、改修や保守開発だと必須じゃね
828 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 00:11:52.95 ID:UPoKErNA0.net] >>809 あ、PHPってちゃんとログにエラー残してるからログも見ろよ
829 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 00:12:19.06 ID:UPoKErNA0.net] >>809 PHPのログ、フレームワークのログをみて さらに自分でログ出力もしっかりしてな
830 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 00:56:01.34 ID:JH+/yPWP0.net] >>806 フレームワークの時点でバグが潰されてるから FW使う一方ならそんな 深いデバッグ要らないってのはあるな >>812 保守だとプログラムを理解しづらいからね
831 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 05:43:01.84 ID:OFPISIv40.net] テンプレート言語でフレームワークを使うという冗長
832 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 14:24:02.82 ID:6Zg8+NGr0.net] Google Apps Scriptで www.pre-practice.net/2017/10/line-bot_22.html?spref=tw ここを参考にLINEBOTを作っていて、 文章中の特定の文字列に反応して返答するようにしたのですが、 (1) else if (strpos(input_text, "寒い") !== false ) { reply_text = "もう冬だね"; } これを挿入しても反応してくれません。 その上、その下部に配置した (2) else { reply_text = "答えられません"; } が反応しなくなります。 (1)を削除すると、(2)は動きます。 (1)のstrposを正常に稼働させるには 何がいけないのでしょうか教えてください。 お願い致します。
833 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 14:33:01.75 ID:6Zg8+NGr0.net] >>817 訂正 (2)だからというわけではなく、 (1)があるとその下部のelseがすべて無効になります 削除すると、すべてのelseが反応するようになります。
834 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 14:52:57.48 ID:xmd0Xo8s0.net] データベースに記事のデータを無数に登録しておき、それをPHPで読み出して ブログサイトのように表示するみたいなプログラムを作りたいのですが そういうのってWebサイトではありがちな気がするのですが、何か簡単に実現できる フレームワークやツール的なものってあるのでしょうか
835 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 15:21:21.27 ID:TBBBeiZLa.net] >>817 Google Apps Scriptってよく知らんけどJavaScript互換じゃないの?
836 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 15:38:04.49 ID:6Zg8+NGr0.net] javaScriptがわからないのですが、 上記の>>817 のソースをそっくりそのままコピペすると、正常に動くんです else if (strpos(input_text, "寒い") !== false ) { reply_text = "もう冬だね"; } ほかは何もいじらずこれだけを挿入するのですが、「寒い」のメッセージに無反応なんです。
837 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 15:51:26.23 ID:6Zg8+NGr0.net] >>817 質問変えます www.pre-practice.net/2017/10/line-bot_22.html?spref=tw 上記URLのソースコードを使用して、 文章中に「寒い」が含まれるメッセージが来たら 「冬ですね」と返答する事ができるようにするにはどうしたらいいかお願いですから教えてください。
838 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 16:09:26.30 ID:6Zg8+NGr0.net] //////////////////////////// var input_text = e.message.text; var reply_text = ""; if (input_text == "こんにちは") { reply_text = "元気?"; } ///////////////////////// 現状は「こんにちは」のテキストに完全一致でしか「元気?」と出力しない状態です。 これを文章中に「こんにちは」が含まれる部分一致の場合に「元気?」と出力する方法教えてください。 連投すんません、このくだらない問題に2日無駄にしてつらいです。
839 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 16:14:49.49 ID:sK+sC+Du0.net] >>822 strpos このメソッドって存在しますか? 文章中に"寒い"があるかどうかを判定するだけなら input_text.match(/寒い/) で判定出来るんじゃないかな?
840 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 16:31:42.84 ID:vEI+28/Ca.net] >>823 えっと、間違ってたらごめんだけど、見た感じ>>817 はJavaScriptのコードで、strposはphpの関数だから、存在しない関数を使ってるせいでエラーになってるんじゃないかな containsやindexOfみたいなJavaScriptの関数で判定してみたらどうでしょうか
841 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 16:45:24.01 ID:6Zg8+NGr0.net] >>824 >>825 ありがとうありがとうありがとうありがとう ヒントくださって本当にありがとう 行き詰まって調べたくても何もなかったからどうにもできなかった その二つ調べて頑張ります本当にありがとう
842 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 17:15:37.08 ID:JH+/yPWP0.net] >>819 ワードプレス
843 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 17:34:29.87 ID:6Zg8+NGr0.net] >>824 >>825 )、._人_人__,.イ.、._人_人_人 <´ indexOf使ったら動いたよ!! > ⌒ v'⌒ヽr -、_ ,r v'⌒ヽr ' ⌒ // // ///:: < _,ノ`' 、ヽ、_ ノ ;;;ヽ // ///// /:::: (y○')`ヽ) ( ´(y○') ;;| / // //,|::: ( ( / ヽ) )+ あ ;| / / // |::: + ) )|~ ̄ ̄~.|( ( り ;;;|// //// /// :|:: ( (||||! i: |||! !| |) ) が ;;;|// /// ////|:::: + U | |||| !! !!||| :U と ;;; ;;;| /// ////|::::: | |!!||l ll|| !! !!| | う ;;;;;;| //// // / ヽ::::: | ! || | ||!!| ;;;;;;/// // // // ゝ:::::::: : | `ー----−' |__////
844 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 18:06:32.72 ID:ki8heFlTa.net] >>828 良かったけど、そもそもなぜここで聞いたんだw がんばってください
845 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 18:11:09.44 ID:sK+sC+Du0.net] 優しいスレだなあ、ほっこり
846 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 19:38:09.54 ID:EhzU2sDl0.net] >>806 初心者がいきなりフレームワークという最近の傾向には俺も疑問 フレームワークを知らなかったからこそ、 初めてチーム組んでフレームワークを使った開発をした時に その必要性や有難味を理解できるもんだ 酷いのになるとフレームワークの使い方しか知らなくて 全く潰しの効かない人とかいるしね 最近のruby界隈は結構酷いのがいる(もちろんPHPよりはましだがw)
847 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 19:48:34.15 ID:EhzU2sDl0.net] >>782 ,784 どうなってる?と言われても知らんがなw そう思うなら自分で作ればいいじゃない curlの関数群にOOPなインターフェースを与えるのなんて簡単な事だろ CURLFileがいけてない? PHPのcurlなんて単なるlibcurlのうっすーいラッパーに過ぎないが PHPのcurlは「@」の扱いからして全然いけてないよw 他人が設計したクラスに文句垂れるだけでろくにラッパークラスも作れない人なの? 違うでしょ? 他のレス見ても君はPHPには明らかに向いてない 君の性格にはPhthonがおすすめ PHPなんてクソ言語はさっさと捨てて ついでにこんな糞スレにも二度と戻って来ない方がいい
848 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 21:00:34.82 ID:6Zg8+NGr0.net] ほんとマジありがとうございました。
849 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 21:19:35.82 ID:6OnifbBOM.net] >>831 まあ、言いたいことは分かるよ でも、たとえばAPCキャッシュがどういう理屈で速い機械語書き出してるか? とかそういうことまで把握してるペチパーなんてほんの一握りだろう それでもみんなAPCキャッシュ使ってるからな どういう層までやりこんで覚えるかは時代の流れもあるんじゃないかなぁ 慢性的な技術者不足だし、この傾向はどんどん進んでいくと思うけどね
850 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 01:49:29.16 ID:TDK9QP8S0.net] APCなんて5.3の頃にとっくに滅んだろ・・・。
851 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 07:33:32.84 ID:hw8F/Qhk0.net] >>827 やはりワードプレスってそういうものなんですか どうもです
852 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 14:52:17.88 ID:TJmT6ypb0.net] >>835 ああOPcacheだっけか、今は 歳とって記憶がもうやばい
853 名前:デフォルトの名無しさん [2017/10/31(火) 21:30:40.63 ID:vrxKr+8C0.net] てか、APCにしろOPcacheにしろ、中間コードをキャッシュしてるだけで、そっこから実行コードにするのは別のとこでしょ?
854 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 00:51:20.56 ID:Do6LjQMZ0.net] 初心者はフレームワークを使わないほうがいいんですか?
855 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 01:26:07.73 ID:2VhajyTi0.net] 目的次第か ただサイト作りたいだけなら使うべきだろうし、 PHPを極めたいとかプログラミングを楽しみたいとかなら 使わずに一から作る方がいいかもしんない
856 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 06:31:00.29 ID:SVj9mMjCd.net] phpはテンプレート言語だからフレームワークなんて必要ないしね
857 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 08:06:41.70 ID:y4RLmNPl0.net] 車輪の再発明うんぬん言うのは、手っ取り早く目先の仕事を片付けたいなら フレームワークのような既存コード使えって話であって、プログラマーとして スキルを高めたいって話なら、例え誰かが既に実装してる機能であっても 自分で試行錯誤して作る経験をつむことに意味があるからね この点については「プログラマが知るべき97のこと」にもあるね
858 名前:デフォルトの名無しさん [2017/11/01(水) 12:25:32.18 ID:6Bes9s9x0.net] 97って多すぎるんだよな… 8つくらいに絞れよ…
859 名前:デフォルトの名無しさん [2017/11/03(金) 00:16:36.67 ID:N/6B30hr0.net] ubuntuでphp7をpurgeしたんだけどphp -vでみたら バージョンが7.0になったままなんだけど php7がpurgeできてないってことですか?
860 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 00:24:51.93 ID:khFcMPIR0.net] >>843 いまググったら107個に増えてた
861 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 02:49:44.71 ID:9CXEo34m0.net] 97を8つくらいに絞ったら 個々のページが増えるだろ つまり8章立ての本になる 20ページとかの本じゃ売れないからな
862 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 04:27:57.37 ID:E/qemGJoa.net] PHPはコメントに#も使えますが シバンは<?phpより前に書かれるので、 これはシェルスクリプトやPerlのように「コメントだから無視されている」 というわけではないですよね? 何故PHPでもシバンが無視されるのでしょうか?
863 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 04:30:09.06 ID:9CXEo34m0.net] そう読める機能が実行環境に備わってるから
864 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 11:45:13.22 ID:E/qemGJoa.net] 「一行目が#!から始まっていたら無視をする」 という処理を行っているのでしょうか たしかにふるまいを見るとそうしているように見えますが、 ドキュメントのどこに書いていますか?
865 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 12:45:29.26 ID:lmIJ2Kma0.net] ファイル単体が純粋にPHPのコードで書かれていても PHPはテンプレート言語でもあるのでHTMLとの境界を定めるために<?php開始タグが必要 これはCGIとして動作させるためにシバンを書く時も例外ではないので
866 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 16:14:45.84 ID:6RtNgLoYa.net] PHPで標準出力を一時的にファイルに変えることは出来ますか?
867 名前:デフォルトの名無しさん [2017/11/05(日) 17:48:41.64 ID:YrMOHTVWE.net] なんでここIPでないの?
868 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 17:53:09.84 ID:5rLvqL+M0.net] スレ立てる時にワッチョイの指定で出来るけど、 そこまでやる必要があるのかな?
869 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 21:18:41.00 ID:mZtOvkfq0.net] IPまではいらない
870 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 02:07:54.67 ID:4QwjxNvAa.net] https://qiita.com/shinkuFencer/items/d7546c8cbf3bbe86dab8 file_get_contentsのタイムアウトを設定しても 何故か設定値の2倍の時間がタイムアウトまでの時間になる という情報がネットにあります これはstream_context_createで作成したストリームコンテキストを fopenに渡した場合でも同じなのでしょうか?
871 名前:デフォルトの名無しさん [2017/11/06(月) 09:37:09.15 ID:RWNw7rPfE.net] 自分で試せば分かることを聞くのかw
872 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 10:41:08.05 ID:8ugsVuBB0.net] サーバーサイドで、PHPがNode.jsより得意なことってなんでしょう? サーバーサイド・クライアントサイドで共通の言語を使うという夢を捨てきれずも とりあえずPHPに甘んじているところです
873 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 11:07:34.47 ID:xs24eGnra.net] >>856 単に「試して終わり」の問題じゃないですから。 タイムアウトが2倍になるのがそもそも意味不明です その意味不明の現象は今でも存在するのかとか 原因は分かったのか、そういう周辺の情報も知りたいので質問しました
874 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 11:09:54.91 ID:xs24eGnra.net] >>857 デフォルトの関数が揃っていることでしょうか PHPは十徳ナイフみたいなものです つっこんだ使い方しようと思うといまいち使えないところも笑
875 名前:デフォルトの名無しさん [2017/11/06(月) 11:39:06.57 ID:RWNw7rPfE.net] >>858 タイムアウトが2倍になる理由を調べたいなら--enable-debug付けてコンパイルしたphpでgdbで調べるしかないんじゃないの? >これはstream_context_createで作成したストリームコンテキストを >fopenに渡した場合でも同じなのでしょうか? file_get_contentsと同根の現象かは自分で試せば分かるよね 丸投げしないで試した上で質問してよ
876 名前:デフォルトの名無しさん [2017/11/06(月) 11:43:22.57 ID:RWNw7rPfE.net] file_get_contentsだとタイムアウトが2倍になるので stream_context_createで作成したストリームコンテキストを fopenに渡したどうなるか試してみたら2倍に(なりました|なりませんでした) これはどうしてでしょうか? なら答えたくなるのにな〜
877 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 12:07:39.62 ID:xs24eGnra.net] >>860 既にやってる人がいるなら聞く方が早いですよね? なんで車輪の再発明を強いるんですか?
878 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 12:07:52.24 ID:8ugsVuBB0.net] >>859 なるほど、やはりPHPはWebに特化した言語だけに、汚らしいけど話が早い言語って 感じなんですかね、他と比べると 自分にとってはそれはけっこう魅力的かもしれません サーバーサイドに労力使ってる場合じゃないって考えなので しばらくはPHPで良い気がしてきました、どうもです
879 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 12:08:58.41 ID:xs24eGnra.net] >>861 あなたの答えたい|答えたくないなんてどうでもいいんですよ 有能な人はしょうもない出し惜しみはしません
880 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 12:14:52.40 ID:mhUqyjwpx.net] >>857 node.jsってwindowsで動かないじゃないか
881 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 15:16:15.83 ID:YE3zxJrDM.net] はい?
882 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 17:39:49.53 ID:GazGq00E0.net] 元々MVCやWebフレームワークなんかの概念が薄かった時代に開発された C言語用のWebフレームワークの前身みたいなもんで元々プログラム言語として開発されたものじゃない 他に飲まれるの嫌って発展優先させて作りなおすこともしなかったから エイリアス作ったりJavaに似せたり文法的に扱いやすいものになったけど汚いもんになってしまった 省略可能な引数に後々問題が出てやっぱ省略だめ!って言いたくなるのは仕方ないとしても 歴史的理由を言い訳にしてるものはさっさと廃止すればいいのに
883 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 19:44:28.39 ID:tjV5ukzM0.net] >>857 PHPは使うハードルが低いのがメリット 現にあなたが甘んじてるのが動かぬ証拠 Nodeはクラサバを共通化できても 導入のハードルが高い そもそもJavaScriptが扱いにくい ぶっちゃけJSの仕様も汚い 同じ汚いなら使いやすい方が良い
884 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 20:16:13.56 ID:HXs9Xdf90.net] 車輪の再発明をするな=「手を抜くこと」と勘違いしてるアホっているよな Wikipediaにすら > プログラマもしばしばその技術を深く理解して自身の技術を向上させるために敢えて「車輪の再発明」をすることもある と書かれているのになぁ… これじゃPHPer()と揶揄されるのも仕方ないわw
885 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 20:23:03.01 ID:HXs9Xdf90.net] >>863 PHPは短時間で「とりあえず動きゃいい」って感じで書くのには良い言語だが 「正しく」書こうとすると、他言語の経験がないとかなり難易度が高い 例
886 名前:えばGETリクエストの値の取り方 例えばPDOでのDB接続 例えば正規表現 挙げればきりがないが、まともなコード載せてるページなんかほとんどないよ 知識がないと、うんこの海から金塊を探し出すぐらい難しい [] [ここ壊れてます]
887 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 20:35:09.12 ID:HXs9Xdf90.net] ちなみに正規表現界隈では、PHP使いはもう正規表現をblogに書くな なんて何年も前に言われてたし 今でもPHP使いが載せてる正規表現はレベルが低すぎて話にならない とよく言われる まぁでも「正しく」書く必要がないケースなら 結果を最短で出せる事もよくあるから書けたら便利よ 例えば手元でちゃちゃっとスクレイピング処理したい時とかね 下手すりゃ他言語の重いIDE起動してる時間でPHPなら結果まで出せる
888 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 23:27:37.35 ID:B8HU4dAL0.net] >>868 いやJavaScriptの方がPHPよりだいぶマシ。 ここ3週間ほどPHPをいじってみたが、変な癖が付くかも、というのは分かる。
889 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 02:54:22.53 ID:2tGtnuO50.net] 正規表現のスクリプトは基本コピペしかしたことないわ エラー出たらまんま知恵袋に乗っけてベストアンサーをまた再コピペ これで一度も困ったことない 今後もずっとこれで行くつもり
890 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 04:19:21.38 ID:3AcTSaMS0.net] >>例えばPDOでのDB接続 確かによくわからんエラーばかり出る
891 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 06:16:53.91 ID:/dIYjzhA0.net] >ここ3週間ほどPHPをいじってみたが、変な癖が付くかも、というのは分かる。 どういう変な癖?
892 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 12:19:29.07 ID:b0eaqMwO0.net] 結論としてはサーバーサイドはRubyとかJava使えってことなの?
893 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 13:33:59.17 ID:gh/A0PF2M.net] >>864 有能な人でもこの書き込み見たあとに書き込むことはない
894 名前:デフォルトの名無しさん [2017/11/07(火) 15:38:49.25 ID:JdOQp9jh0.net] >>864 は、せめて自分が有能になってから発言すべきだったな。
895 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 17:00:01.66 ID:qTtPzD5n0.net] >>876 小規模ならJavaよりPHPの方が手軽で使いやすい
896 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 17:55:39.61 ID:lL2IWG1w0.net] スマホアプリから始めてる最近の連中には1つの言語でいいから楽かもしれないけど Javaは時間的な開発コストがかかりすぎ PHPがいいかといったらPythonとかと比べちゃうと良くないけども
897 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 18:10:39.32 ID:AlF6JHNEa.net] サーバーサイドなら今のところGo言語が一番使い心地いい でも最近Elixirが気になる
898 名前:デフォルトの名無しさん [2017/11/07(火) 18:36:43.37 ID:/3lRCBy00.net] ワールドワイドウェブ←PHP。 業務システム←Java。 こういう使い分け。 作られた目的で使うのが楽。
899 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 19:12:10.18 ID:44ffyb5e0.net] PHPを勉強しちまった Javaは勉強したくない・・・
900 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 19:53:28.62 ID:1fNnAx110.net] Javaはガチガチすぎて自由度がないからな コードは長ったらしいものが出来上がるし出来れば触れたくない 自由度高すぎでなんでも配列になりがちなPHPはコード汚くなりがちだけど個人の力量次第 簡単に始められるけど素人向けにみえて全然素人向けじゃないのがPHP PythonはPHPerが次に学ぶには最適 オブジェクトと手続きが混在した同じようなパラダイムだからとっつきやすいだろう Goは知らね 一度やろうとして入れたらアンチウイルスソフトが反応したから諦めた
901 名前:デフォルトの名無しさん [2017/11/07(火) 20:21:31.14 ID:/3lRCBy00.net] 同じことが出来るなら好き嫌いで選ぶのも良いのだが、JavaとPHPは明らかに対象が違う。
902 名前:デフォルトの名無しさん [2017/11/07(火) 20:22:50.59 ID:/3lRCBy00.net] 対象による分類でいえばPythonはJavaと同じグループに属するのではないか。
903 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 22:02:46.43 ID:1fNnAx110.net] 対象なんてPHPと比較してんだからWebアプリに決まってる
904 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 23:51:12.20 ID:Sa0oaD5/0.net] >>875 汚いコードを書く癖、だな。 というか仕様が汚いから、綺麗なコードを(上級者でも)書きにくい。 だからPHPには本質的に綺麗なコードがない。(はず。或いは他言語と比べて圧倒的に少ない) この結果、PHPのみのPHPerは綺麗なコードを見たことがなく、何が綺麗なのか理解出来ない。 たぶんこれがPHPerが強烈に馬鹿にされる理由ではないかな。 JavaScriptの問題は局所的なので上級者なら回避出来るし、ちゃんと書けばかなり速く動く。 (実際は糞コードが蔓延しているが) PHPの場合は上級者でも「これでどうしろと?」になってしまう。腕があっても発揮しようもない。 これが上級者が強烈にPHPを敵視する理由だろう。 逆に言えば、腕が悪くても(上級者に)置き去りにされないし、 仕様の洗練具合も「ちょっと調子に乗り始めた」中級者に成り立ての頃と合致しているから、 その辺の人達にとっては非常に心地いいはず。これが多数から支持されてる理由だろう。 人数でいえば必ず上級者<<<中級者<<<初心者だし。 例えば、Cの関数ポインタの型宣言とか、洗練されてはいるが洗練されすぎてて意味不明だ。 そこはGoでは反省して仕様としての統一性より可読性を取ったと公式に言われてる。 https://blog.golang.org/gos-declaration-syntax 従来はほぼ全ての言語が「上級者用」に出来てた。 ただ今はもう全員がプログラミングする時代だから、変わりつつあるって事だろう。 PHPはある意味「馬鹿に丁度いい頃合い」の仕様だから、人数だけで言えば支持されることになる。 とはいえ、綺麗なコードを書くことも、後からのメンテと実行性能を上げる手段でしかないから、 使い捨て主体で早くリリースすることが重要なWebの世界では必ずしも必要ではない。 それがいまだにPHPが盛んな理由だろう。
905 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 01:26:15.87 ID:2WiQV3soa.net] 世界の嫌われ言語第二位にランクインしたぞ
906 名前:デフォルトの名無しさん [2017/11/08(水) 07:48:26.15 ID:2qR6LDLx0.net] 二位か。 名誉である。
907 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 11:19:42.51 ID:jWA44EcM0.net] 3位と4位の間に超えられない壁がある4位 https://japan.zdnet.com/article/35109803/ タイトルは嫌われてるって書いてるけど使いたくない言語が正しい 変態言語は上位になる シンプルなPythonに比べて複雑なRubyが上位なのも納得
908 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 12:59:13.64 ID:MI2OSjnpa.net] PHPはコミュニティベースの多数決意思決定がとてもダメに見える 良くも悪くも特にオープンソース開発では優しい独裁者は必要なんやなって
909 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 19:25:20.07 ID:ZQcBC1OD0.net] >>892 開発を早急に進めるには独裁的な方法は良いと思うけど PHPの場合は、未だに5系を使ってるのが多いようで あまり急ぐ必要性もないのかなとも思う。
910 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 19:38:40.39 ID:ToLSiZTza.net] 6の失敗で様子見が長いのかな 5を使うのって
911 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 20:24:43.81 ID:yXBCWp2w0.net] >>891 上位の言語は 仕事で使わざるを得ない状況になって 嫌いになったんじゃないの Clojureとか仕事で使わないだろ
912 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 20:59:17.53 ID:CdH0AkI70.net] 5.x 系はもうセキュリティfixのみ。5.6以外は既にセキュリティ保守もされていない。 7.0も来月には保守に移行、とっとと、7..1系に移るべし。 php.net/supported-versions.php
913 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 21:06:09.41 ID:yXBCWp2w0.net] >>891 Haskellの嫌われぶりも相当だな 前後のC/C++やJavaに比べたら 使用者人口が圧倒的に少ないだろうに
914 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 21:15:37.90 ID:7RlofB9P0.net] >>891 いまいち見方がわからん 横の長さは何を表してるの?
915 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 22:37:46.88 ID:sLplUZSS0.net] >>898 好かれてない度
916 名前:デフォルトの名無しさん mailto:sage [2017/11/09(木) 01:20:29.97 ID:2oYBDwYL0.net] webプログラマーの俺が思う、PHPの気に入らない点 関数の引数に法則性がない、せめてhaystackとneedleの順序ぐらいは統一してくれ 変数にグローバルスコープがない(いちいちオブジェクト化しないといけないのが鬱陶しい)
917 名前:デフォルトの名無しさん mailto:sage [2017/11/09(木) 01:46:15.65 ID:oTLZ7Zqm0.net] グローバル変数はできるかぎり使うな
918 名前:デフォルトの名無しさん mailto:sage [2017/11/09(木) 07:05:11.47 ID:pml0kuKU0.net] サーバーサイドだとPythonが今好まれてるってことなのか? でもWebに特化してないし、作りやすいのかね
919 名前:デフォルトの名無しさん mailto:sage [2017/11/09(木) 08:58:24.86 ID:oTLZ7Zqm0.net] Pythonは機械学習で流行に乗ったけど Webアプリは作りやすくない
920 名前:デフォルトの名無しさん mailto:sage [2017/11/09(木) 09:44:04.31 ID:Hn5JglTy0.net] PHPのようにサクっとはじめれないけど 用意するもの用意したらPHPより早く完成品出来上がるよ まあぶっちゃけサーバサイドなんてなんでもいいんだけどね
921 名前:デフォルトの名無しさん mailto:sage [2017/11/09(木) 17:38:26.86 ID:Q2HXYGEY0.net] Ruby on Railsに精通してるやつのWebアプリデプロイするまでの尋常じゃないスピードにビビる
922 名前:デフォルトの名無しさん mailto:sage [2017/11/09(木) 18:16:04.39 ID:aoNmqvFxa.net] RubyはぶっちゃけいかにRailsを使いこなせるかの言語だからな
923 名前:デフォルトの名無しさん mailto:sage [2017/11/10(金) 08:18:02.39 ID:RkYtVGAQ0.net] >>852 IPがいる理由が謎 セキュリティ的に害悪でしかない
924 名前:デフォルトの名無しさん mailto:sage [2017/11/10(金) 09:40:25.64 ID:UzIhbEi50.net] 固定IPでアクセスしている奴がいるのか? そちらの方がセキュリティ感覚がないんじゃ
925 名前:デフォルトの名無しさん mailto:sage [2017/11/10(金) 11:58:24.69 ID:YGcZE3ch0.net] IP表示なんてしたらスレ乱立するのは目に見えてるからなあ ID出す出さないで長年揉めてたぐらいだし
926 名前:デフォルトの名無しさん mailto:sage [2017/11/10(金) 19:24:21.77 ID:LsbUks3P0.net] IDがないと自演し放題で荒れるからな レンサバとWebProgとかIDないけど 荒し簡単にNGできなくてイラつく
927 名前:デフォルトの名無しさん mailto:sage [2017/11/13(月) 11:23:34.57 ID:4mbmImdF0.net] >>902 Pythonはプログラミングを初めてやる人にはいい言語 Web向けのフレームワークもいくつかある PHPみたいに1つの事をやるのに複数のやり方がある言語は とっつきやすいが学習にとってはデメリットも多い 言語なんか手段に過ぎないからな 近所のコンビニへ買い物いくのにF1カーに乗るアホはおらんだろ 特定の言語にケチ付ける人ってたぶん仕事やらせたら手が遅いんだろうなって思う
928 名前:デフォルトの名無しさん mailto:sage [2017/11/13(月) 11:27:09.02 ID:4mbmImdF0.net] >>900 グローバルスコープはあるが使うわけがない もしその理由が分からないなら相当ヤバいと思う グローバルスコープ汚染しまくる言語って大昔のperlや アホの書いたJavaScriptのイメージが強いが どの言語出身?
929 名前:デフォルトの名無しさん mailto:sage [2017/11/14(火) 00:49:07.85 ID:Cwk2PbMg0.net] phpdbgをみんな使ってる?
930 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 20:26:54.97 ID:daoo5ECaa.net] 久しぶりに紀伊國屋に行ったら PHPとPythonの本棚におけるシェアが増えて、Rubyが減っていました PHPの場所は一時はかなり減っていましたが、大分盛り返した様子です Pythonの流行はあきらかに機械学習の興隆と連動しています ウェブではまだまだPHPが存在感を発揮していくのでしょうか?
931 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 21:14:09.06 ID:0WmOdyh+0.net] WebならPHPが一番多いよ
932 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 22:59:14.51 ID:daoo5ECaa.net] Pythonもしていますが、定数がなかったり、 オブジェクトのメソッドの第一引数がオブジェクト自身だったりと いまいちモダンじゃないですよね PHPは節操なく流行りを取り入れる姿勢なので、 モダン性が保たれているところはありますね
933 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 23:28:54.07 ID:0WmOdyh+0.net] いやPythonの方がキレイな言語だろ たしかにselfだらけなのは冗長だと思うが
934 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 23:34:30.35 ID:lNSovIGo0.net] プラグマティック [形動]実利的。実際的。実用主義的。実利主義的。
935 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 23:45:25.89 ID:H4f2B3nT0.net] Pythonもなんちゃってオブジェクト指向だからPHPといいお友達だよ
936 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 23:51:10.19 ID:EIKDxuPB0.net] webプログラミングやるなら 一度はPHPを勉強して損はないと思う
937 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 00:03:09.52 ID:Fyg+unP40.net] JAVA、C#で徹底的に冗長性排除したのに 再び冗長性のあるプログラミング言語が興隆してくるあたり 人間の堕落さが垣間見れる
938 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 00:21:03.83 ID:Geoynnp60.net] >>921 ナイスジョーク
939 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 01:03:42.02 ID:5LcvEdL4a.net] タチの悪いジョークだなぁ
940 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 01:09:05.80 ID:XOzbrcQ20.net] Javaの方が冗長
941 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 01:18:51.27 ID:ma/QnAue0.net] 「太子。人間、孤独であるよりは悪とともにあったほうがよいとみえるな」
942 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 01:47:17.15 ID:kCNvi1ria.net] >>920 ガバガバ感を弁えるためにな
943 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 13:10:05.05 ID:lGyDcZb2a.net] PHP以外の言語は、ある機能を使いたかった時に この関数が含まれているパッケージは〜とか、 いちいち調べなきゃいけないのが面倒くさいと思っていましたが パッケージをクラス、関数をメソッドくらいの感覚で考えたら そんなに面倒くさくないと気づきました
944 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 14:52:01.73 ID:jmNY7gbT0.net] PHPは自分さえしっかりしてれば(スキルがあれば)エレガントに安全に書ける言語だと思うよ だから個人でWebやる場合、そういう自信があるなら有力な選択肢だと思う ただ仕事などチームでやる場合、糞コード生産しそうな奴がまじってるとPHPは 選択したくないかも(必ずいる)
945 名前:デフォルトの名無しさん [2017/11/18(土) 14:42:47.14 ID:2G8xzSWu0.net] PHPは書くと楽な言語であって、読むのは最悪。他人が絡むから。
946 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 18:17:30.20 ID:STVf0d+x0.net] >>929 プログラムって大体そういうものだ
947 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 21:10:40.83 ID:nUbPTPuI0.net] だから差が出ないようにコーディング規約とかあるんやで
948 名前:デフォルトの名無しさん [2017/11/18(土) 23:59:16.26 ID:AvOAupbn0.net] 年収500万でPHPのソースレビュー要員募集してるところもあるくらい 規約は徹底したほうがいい 規模でかいなら尚更
949 名前:デフォルトの名無しさん mailto:sage [2017/11/19(日) 22:41:33.65 ID:t82UL78Aa.net] >>736 の件ですが なんとGoはオブジェクト指向言語じゃないと分かりました あくまでモダンCであってモダン言語と呼ぶには苦しい感じがします
950 名前:デフォルトの名無しさん mailto:sage [2017/11/19(日) 23:44:09.71 ID:MOlyybMm0.net] モダン=オブジェクト指向みたいになっとるがな
951 名前:デフォルトの名無しさん [2017/11/20(月) 00:27:23.79 ID:izNCqxH/0.net] どっちゃもいけるC++やPHPみたいな言語が、適材適所で使えて超便利。
952 名前:デフォルトの名無しさん mailto:sage [2017/11/20(月) 09:21:45.62 ID:5CA8WQiUM.net] AWS Lambdaでネイティブサポートする言語に PHPが入っていないのって何故でしょうか? GoとRubyは次にサポートする言語の投票対象になってましたが PHPは入ってませんでした
953 名前:デフォルトの名無しさん mailto:sage [2017/11/20(月) 10:34:23.37 ID:Jkag+4y4a.net] オブジェクト指向と関数型を両方できるのが今のモダン言語でしょう
954 名前:デフォルトの名無しさん mailto:sage [2017/11/20(月) 12:09:37.89 ID:m3rw4xgt0.net] Scalaとかな
955 名前:デフォルトの名無しさん mailto:sage [2017/11/20(月) 12:16:46.46 ID:L+bcHflj0.net] 関数型言語を学んだことないんだけど 学ぶとどんないいことがある?
956 名前:デフォルトの名無しさん mailto:sage [2017/11/20(月) 17:53:01.40 ID:jMZlCBbia.net] ・むやみやたらに変数に再代入しなくなる ・参照透過性や副作用に気をつけるようになる ・小さな汎用関数を組み合わせて目的の処理を作り上げるのが楽しい ・汎用とまでは言わなくとも関数内で無名関数作って処理分離させるのが楽しい ・楽しいだけじゃなくそれぞれが細かく独立してるので保守しやすい ・宣言的に書けるため見通しがスッキリする ・大抵の場合で関数呼び出しのオーバーヘッドを気にする必要がないことに気づく ・いまいち使い道のわからなかったarray_map, array_filter, array_reduceあたりを息を吐くように使うようになる ・ただし大量の配列をmapしてfilterしてってやるのは遅延評価じゃないPHPではオススメしない
957 名前:デフォルトの名無しさん mailto:sage [2017/11/20(月) 18:22:48.01 ID:QCK988O10.net] 手続き型より関数型に寄ってる言語は触った程度しか経験ないけど, 関数型のメリットは型システムとの関わりが強いことだと思ってる この辺は上の宣言的に書けるとかその辺か 型無しラムダ?知らんな あとPHPは型システムが極めて貧弱貧弱ゥなのがアレ
958 名前:デフォルトの名無しさん mailto:sage [2017/11/20(月) 23:43:49.46 ID:Qkk3FtfL0.net] 業務中に少し行き詰ったので質問。サーバーPCの環境はwin32でPHP5.6、XAMPP上で動いてる これを同一ネットワーク内の別PCでアクセスして、サーバーPC上のファイルをデスクトップ上に受け取りたい 単純にcopy関数を使っただけだと、access deniedで怒られたので、サーバーPC上のディレクトリに権限を 与えてみたが、これも駄目 php.iniのallow_file_uploadedなんかはすべてonにしてるだけど、どうやったらアクセス制限で弾かれずに 複写できる?
959 名前:デフォルトの名無しさん mailto:sage [2017/11/20(月) 23:51:56.67 ID:8KCSU74o0.net] >>942 コンテンツタイプを指定してストリームで受けとったら?
960 名前:デフォルトの名無しさん mailto:sage [2017/11/20(月) 23:52:29.59 ID:Qkk3FtfL0.net] そのファイルはxlsファイルで何十もある。ただ、ダウンロードするだけならheader関数で制御すればいいんだけど、 エクセルマクロをダウンロードしてから、それを一通り走査して値を代入する(図表も入ってるからPHPExcelは使えない) 流れとしては サーバーPC上で元ファイルを複製 ↓ 複製したファイルをローカル環境上に配置(Desktop/固定フォルダ/タイムスタンプ/hogehoge1.xls) ↓ 必要数を配置したら、xlsmファイルをダウンロード ↓ xlsmファイル上のVBAマクロが動き、配置したxlsファイルに値を出力(図表が混じってるので、PHP_Excelが使えない) こういう動きをさせたいので
961 名前:デフォルトの名無しさん mailto:sage [2017/11/20(月) 23:56:13.25 ID:Qkk3FtfL0.net] >>943 ありがとう、ストリームについて調べてみる
962 名前:デフォルトの名無しさん mailto:sage [2017/11/21(火) 00:06:48.02 ID:ZEWdnSYv0.net] サーバ側のアプリケーションを作りたいのかクライアント側のアプリケーションを作りたいのか両方なのか 更にクライアント側でVBAを動かす処理系はどうするのか(Excel起動するの?)とか
963 名前:デフォルトの名無しさん mailto:sage [2017/11/21(火) 00:36:29.65 ID:nHtR4tFla.net] >>936 PHPは他言語の機能を積極的にパクってきましたが PHPが他言語にパクられた機能というのは、特に思い当たりません そういうところで軽視されがちなのは、 そんなPHPのオリジナリティのなさが原因ではないかと思います
964 名前:デフォルトの名無しさん mailto:sage [2017/11/21(火) 00:41:02.65 ID:tVCufCc10.net] 当初ローカル環境だけで作ってたから、いざサーバーに載せ替えたときに、クライアント側で ファイルの複製ができなくなったって所。ローカルだけだとPHPもVBAもちゃんと動いてたんだけど Excelはクライアント側で起動させる
965 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 01:17:28.95 ID:wJEVnqEH0.net] サーバサイドのコードもクライアントサイドのコードも書いて, どっちもローカルの環境では動いたけど サーバサイドのコードを実環境にデプロイしたらサーバサイドのコードは正しく動くけどクライアントサイドのコードは正しく動かなかったってこと?
966 名前:デフォルトの名無しさん [2017/11/22(水) 03:13:02.56 ID:X0CV9K0Z0.net] 禅問答か
967 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 03:36:33.52 ID:Fja20xY70.net] 早口言葉
968 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 03:39:53.11 ID:wJEVnqEH0.net] 対話的インターフェイス
969 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 15:50:49.68 ID:HyQAr+nB0.net] ローカルの環境の中に、仮想OSをインストールして、スコープやパーミッションの相違を見落とすのを防いでおくのが吉
970 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 23:04:57.76 ID:12pr/mHg0.net] うちの会社でもDockerやらAWSのサービス使って Blue-Greenデプロイとかしたいけど まだ手が出せてない なんか難しそうだし ローカルのPHP開発環境としてならDockerは使ってるんだが
971 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 00:48:07.37 ID:0zddhcTM0.net] 去年秋にリリースしたサービスはDocker使ってるけどノントラブルだな それほどアクセスないからってのもあるだろうが
972 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 19:41:14.05 ID:DaQyC7B30.net] 質問です。 最新版のSQLiteを試してみたいのですが、やり方を知っている人は居ますか? 環境はPHP7.1.8+SQLite3.15.1(今年9月時点でのxampp最新版)で、 試しにSQLite3.21.0のDLLを公式からDLして差し替えてみましたが動作しませんでした。 他詳細を知りたければ以下で。 mevius.2ch.net/test/read.cgi/db/1345121656/646
973 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 21:22:21.08 ID:NGnFjFYxa.net] 自分でビルドできる前提?
974 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 21:26:05.17 ID:9sTMSHCv0.net] XAMPPでのがしんどいよなぁ… まさか開発用ってわけじゃなく勉強用だよね? 検証してくれる優しい人出るまで待つしかなさそう
975 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 21:52:04.12 ID:DaQyC7B30.net] >>957 いや、出来ない前提。というかしたくない。 自分でしないと駄目なのか?ググッたらそのまま使えるみたいな人も居たんだが。 https://www.dbonline.jp/sqliteinstall/install/index3.html なおSystem32に置いても駄目でした。 ちなみにxampp on Windowsね。(すまんこれを言い忘れていた、重要だったかも?) ビルドするにしてもどうせVCだし、同じバイナリが出来るはずだから意味無いと思っている。 >>958 勉強用だけどAGPLv3でリリースするよ。それなりに動く物を作るつもり。 プログラミング初心者ではないから。 xamppってまずい?一番簡単だったからこれにしたが、 (というか最初はこれくらい簡単でないと無理) 今ならvirtualBoxとかに鞍替えできるけど、そっちの方がいい? まあそもそもSQLiteのATTACHが異常に遅いのが問題で、 それが無ければ旧版で(つまりxamppで)問題なかったんだけどね。
976 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 21:57:17.25 ID:C3/IvF2B0.net] XAMPP使わないからよく分からんのだけど, 同梱のphp_sqlite3.dllとかphp_pdo_sqlite3.dllのサイズを見る限りSQLite3は静的リンクされてるんじゃないのか? ちゃんとDLLの中身見れば静的リンクされてるか動的リンクされてるかは分かるけど, 静的リンクされてるなら自分でリビルドが必要だよ
977 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 21:59:01.78 ID:lD80x27g0.net] >>959 そのサイトで「使える」と言っているのは、PHPでSQLiteの利用が出来るというだけで、 実際にSQL書いていく時はファイルオープン、ファイルクローズなどやらないと行けないはず その辺は必要箇所を見つけて自分で直さないと行けないのではないかな? PHPでSQLを利用するサンプルを一度移植してみると分かると思う。
978 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 22:27:59.22 ID:DaQyC7B30.net] >>960 Goみたいなキチガイじゃなければ、静的リンクなんてありえないと思うが。 また、静的リンクだったら差し替えても反応するはずが無く、そのまま3.15.1がリンクされっぱなしになるはずだが、 phpinfoで見ると消えてしまう。だから反応はしている。つまり動的リンクのはず。 サイズはほぼ同じ。 3.15.1(859,648Bytes) 3.21.0(852,754Bytes) なお俺が使っているのは32bit版。 >>961 既に言ったが俺はプログラミング初心者ではないからその辺は分かっているし、 もう既に動かしている。 なおそのサイトは結構いいと思うよ。SQLはそこで基礎を確認した。
979 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 00:07:20.86 ID:SR+igXjo0.net] >>962 残念だけどちゃんと調べたらソースごとバンドルされてるから静的ビルドよ https://github.com/php/php-src/tree/master/ext/sqlite3/libsqlite
980 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 00:11:53.87 ID:SR+igXjo0.net] 静的ビルドじゃねぇな, リンクでもないし静的に組み込まれてる
981 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 00:49:57.60 ID:hdwDPoQO0.net] >>964 違うぞ。てかお前動的リンクと静的リンクの違い分かってないだろ。 ソースがそこにある=パッケージ内でビルドされている、であって、動的/静的は関係ない。 自分でDLLを作るとき、プロジェクト内にソースは当然あるだろ。 こっちも調べた。DLLを直接確認したらget_module関数が無い。それでググったら以下が出た。 www.php-cpp.com/documentation/loading-extensions 要するに通常のDLLでは無く、Zendのラッパ(ではないが)が必要で、そこからアドオンとして組み込んでる。 だからphp.iniを見て動的に組み込む。 FireFoxとかのプラグインと同じ構造(のはず) Zendからヘッダを入手してビルドするのは面倒なので、 誰か既にビルド済みなのを探しているのだが(これがwindowsの利点だし)、今のところない。 誰か発見したらよろしく。 なおReleaseNoteを見る限り、ATTACH自体はまだ枯れてないので可能性がある。 > 2. Allow ATTACH and DETACH commands to work inside of a transaction. > www.sqlite.org/releaselog/3_21_0.html ただまあそれ以前に、ATTACHの仕方によっては遅くならないようなので、それも確認中。
982 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 01:43:46.47 ID:hdwDPoQO0.net] ちなみにバイナリはあった。 windows.php.net/qa/ そしてPHP7.1.12RC1のdllと差し替えたら反応はするのだがSQLite自体は3.15.1のまま。 おそらくPHP7.1系はSQLite3.15.1なのだろう。 ならばとPHP7.2.0RC6も試したが、 こちらはVC15のランタイムをインストールした際「再起動が必要」と出たが無視しているので結果は未定。 再起動無しの状態では使えない。(読みに行くがリンクできない関数があって落ちる)
983 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 02:08:17.99 ID:SR+igXjo0.net] 理解してないのはお前だよ php_sqlite3.dllやphp_pdo_sqlite.dllは実行時にPHPにロードされるいわゆるモジュールだが, こいつらとsqlite3.dllは同一じゃない sqlite3.cのソースコードを使ってSQLiteはこれらのモジュールに「静的に」組み込まれている sqlite3.dllならPHPから独立だろうがphp_sqlite3.dllはphp7ts.dllに依存しているからその辺で読めないんじゃないの ちゃんとエラーログ見ればモジュール読めないってPHP Startup Error出てるだろうよ
984 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 08:23:48.80 ID:hdwDPoQO0.net] >>967 > 実行時にPHPにロードされる > 「静的に」 馬鹿乙。つかマジでもうちょっとちゃんと勉強しろ。 PHPerは馬鹿だとは聞いたが、なるほどこれでは馬鹿にされるだろうさ。
985 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 12:15:37.58 ID:hVOq/yrX0.net] どっちにせよ、こんなことで時間潰れるの勿体ない 最初からVirtualBoxとかでやった方がいいと思うな
986 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 12:39:50.58 ID:hdwDPoQO0.net] >>969 いや、virtualBoxの方がいいのか? Unixにポーティングしたらそこで問題がー、って人も居るみたいだけど。 torhamzedd.halteria.com/2010/02/xamppwebvmplayer.html まあ言っていることはごもっともなんだが。xamppで実運用する可能性は皆無だし。 なおいろいろ試した結果、ATTACHの問題というよりは特性であり、 こちらのプログラムで改善/回避できそうな雰囲気なので、環境が悪いわけではなさそうだ。 まだ詳細を詰め切れていないが。
987 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 14:36:44.48 ID:hdwDPoQO0.net] なおATTACHについては自己解決した。詳細は以下参照。 mevius.2ch.net/test/read.cgi/db/1345121656/647 これだと最新版で改善されている可能性もあり、試すべきだが、 再起動するのはかなり面倒なのでとりあえず放置する。(後日結果を報告するかも) 対応してくれた人はありがとう。
988 名前:デフォルトの名無しさん mailto:sage [2017/11/27(月) 12:53:10.05 ID:nNid/MSoM.net] 用途をみるに、sqliteを最新にする必要があるのか謎。
989 名前:デフォルトの名無しさん mailto:sage [2017/11/27(月) 12:54:20.73 ID:nNid/MSoM.net] あー最新版の修正目当てか。失礼
990 名前:デフォルトの名無しさん mailto:sage [2017/11/27(月) 17:21:44.79 ID:hfMnpxmx0.net] >>968 痛々しいわ SQLite関数を使う上での依存関係は PHPコア -> php_sqlite3モジュール -> SQLite3ライブラリ なんだから, PHPコア -> php_sqlite3モジュール : 実行時にphp.iniの設定を見てロード php_sqlite3モジュール -> SQLite3ライブラリ : php_sqlite3モジュールのビルド時に静的に組み込み で何も矛盾してない 最初から最後までSQLite3ライブラリの最新版を使いたいなら「php_sqlite3モジュールを新しいSQLite3ライブラリを使って再ビルドしろ」が結論
991 名前:デフォルトの名無しさん mailto:sage [2017/11/27(月) 19:07:02.53 ID:pbeBNwkp0.net] >>973 3.21.0で追加された、transaction内でのATTACH/DETACHがあれば、 mevius.2ch.net/test/read.cgi/db/1345121656/663 に書いたtempの手法が使えるようになる。 ただ、今は、それ以前に、file_put_contentsでarchive用のjsonファイルを静的に作成する方法を試している。 速度は10倍ほど出ている。(DBに書くと40-60msかかるが、ファイルなら3-4ms) 今は本当にこれでいけるか、こちらに一本化すべきかを考えているところ。 (archiveは動的側面が全くないはずなのでいけるはずだが、運用上問題がないか?) >>974 > 痛々しいわ お前がな。最近この手の馬鹿は増えたが。 まあ永久に無知なままでいろ。
992 名前:デフォルトの名無しさん mailto:sage [2017/11/27(月) 21:04:12.30 ID:hfMnpxmx0.net] >>975 誤解してるわけでもなさそうだしまぁいいや 実際ビルドし直さずに最新版使えるならそれがベストではあるしな 是非成功させて勉強させてくれ
993 名前:デフォルトの名無しさん [2017/12/14(木) 18:31:35.65 ID:O42iwrkx0.net] php pdo mysql について質問です。 ローカルのxampp環境でinsert時にexceptionを吐いているのですが、サーバーのlinux環境ではexceptionを吐きません。 接続直後に setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); としているのですが、環境によってexceptionをthrowしない場合ってあるのでしょうか? この問題は非常に質が悪く、$stmt->errorCode();で取得できませんし、$stmt->rowCount();で1が返ってきてしまいます。 エラーログには出力されているようです。 SQLSTATE[42S22]: Column not found: 1054 Unknown column 'hogehoge' in ... どうやったらexceptionをthrowしてくれるようにできるのでしょうか? また、throwは諦める場合、エラーを検出したいのですがどうやったら良いでしょうか?
994 名前:デフォルトの名無しさん [2017/12/14(木) 18:54:42.13 ID:O42iwrkx0.net] なんか分かった気がします。 prepare? execute? がエラーを throw していたのですが、 それらをコールしている関数の外で try catch していたので、そこまで到達していなかったようです。 php.ini の設定なんですかね
995 名前:H とりあえず自己解決しました。 ありがとうございました。 [] [ここ壊れてます]
996 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 21:55:30.52 ID:c3uOfk7qM.net] 解決したからいいけど、XAMPP環境での開発はお勧めできん WindowsでもMacでもDocker使うなり仮想つかうなりで、 本番環境とほぼ同じ状態で開発しないと PHPのバージョンや組み込まれてるライブラリ、php.iniもすべて合わせれば そんなエラーで時間潰すこともまずなかろう
997 名前:デフォルトの名無しさん [2017/12/14(木) 23:08:01.53 ID:kcFY4zVmM.net] phpのフレームワークにララベル使おうかと思ってるんだけど、なんか他に良いフレームワークってあるの?
998 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 00:18:58.55 ID:zZ0+kx4X0.net] 個人的にはLaravelが一番いいと思うよ FuelPHPとかPhalconとか最近はあまり聞かなくなったな
999 名前:デフォルトの名無しさん [2017/12/17(日) 12:52:10.72 ID:hlhRQlj10.net] >>979 XAMPP全く関係ないじゃん。ヴァカなの?
1000 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 01:55:46.54 ID:lVjWNMP2a.net] WindowsのファイルシステムのエンコードはUTF-16 らしいですが scandirで取得したファイル名はUTF-8になっています これはPHPが内部で変換してるのでしょうか?
1001 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 10:43:30.09 ID:lVjWNMP2a.net] Win10のコマンドラインからPHPを実行してUTF-8の文字列を表示すると 文字化けせずに表示されました Win7以前はSJISに変換してから表示しないと化けたはずです Win10のコマンドラインのエンコードはUTF-8になったのでしょうか? だとすれば、コマンドライン=SJIS、を前提にして書かれたコードは 問題が出てきますよね 現に出ているから調べ始めたのですが・・
1002 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 12:01:10.63 ID:lVjWNMP2a.net] バッチファイルからUTF-8文字列を出力するとやはり化けたので WindowsではなくPHP側の問題かと思って検索したらありました Windows版 PHP 7.1 で日本語パス(パス文字列のエンコーディング)が 対応されることによる影響 https://qiita.com/algo13/items/2810aacef69d6fb8fd0f
1003 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 12:43:11.61 ID:o48rTZ2B0.net] windows10が今手元にないからうまく答えれないけど、 コマンドラインでchcpってうってみて文字コード確認してみればいいんじゃない?
1004 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 13:15:06.92 ID:1yPg30uza.net] ありがとうございます しっかり932って表示されました
1005 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 09:16:36.60 ID:+UrT0jgrM.net] >>982 はあ? あるじゃん 本番環境と開発環境の構成がずれててエラー起きてるんだから
1006 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 13:31:42.83 ID:Wkwa3Cn2a.net] 自分もXAMPPを使っているのですが MySQLのデフォルトがInnoDBになっていたのでそのまま使っていたのですが、 データベースが壊れました innodb_force_recoveryオプションを使って修復してもまたすぐ壊れます MyISAMの時はmyisamchkにかければそれで直っていたのに。 InnoDBは同時アクセス対策の機能が豊富ですが 同時アクセスがさほど想定されない場合は シンプルで堅牢なMyISAMを使うべきなのでしょうか?
1007 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 13:38:21.86 ID:xHqi669x0.net] >さほど想定されない dbの形式以前に、ロックをしない構文構造に問題があるのでは?
1008 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 13:45:16.71 ID:Wkwa3Cn2a.net] ロックですか していませんでした MyISAMの時と同じ書き方をしていました InnoDBではそういうのがいるんですね ありがとうございます
1009 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 14:51:09.36 ID:Xzv3JYGc0.net] InnoDBが壊れるってそうそう起きないだろ ロック云々の人為的ミスで壊れるなんて今はまずないと思うけど そのXAMPPのMySQLのバージョンいくつか知らんが、 5.1とか使ってるなら5.7に上げるのがいいと思うが MyISAMにするってのはかなりズレてると思うよ
1010 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 15:34:56.61 ID:8R4SVzVb0.net] >>3 の修正案 関連リンク ■PHPマニュアル www.php.net/manual/ja/ ■日本PHPユーザ会 www.php.gr.jp/ ■PHPNG https://wiki.php.net/phpng ■メーリングリスト ml.php.gr.jp/mailman/listinfo/ (以下英語) ■公式リポジトリ git.php.net/ ■PHP-RFC https://wiki.php.net/rfc ■PECL pecl.php.net/ ■Composer https://getcomposer.org/ ■Packagist https://packagist.org/ ■Zend Tech. Ltd. www.zend.com/ フレームワーク(一部) ■Zend Framework https://framework.zend.com/ ■Symfony https://symfony.com/ ■Laravel https://laravel.com/ ■CodeIgniter https://codeigniter.com/ ■Yii www.yiiframework.com/ ■FuelPHP https://fuelphp.com/ ■CakePHP https://cakephp.org/ テンプレートエンジン(一部) ■Twig https://twig.symfony.com/ ■Blade https://laravel.com/docs/5.1/blade
1011 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 15:38:27.23 ID:8R4SVzVb0.net] >>993 >>3 スペース直した 関連リンク ■PHPマニュアル www.php.net/manual/ja/ ■日本PHPユーザ会 www.php.gr.jp/ ■PHPNG https://wiki.php.net/phpng ■メーリングリスト ml.php.gr.jp/mailman/listinfo/ (以下英語) ■公式リポジトリ git.php.net/ ■PHP-RFC https://wiki.php.net/rfc ■PECL pecl.php.net/ ■Composer https://getcomposer.org/ ■Packagist https://packagist.org/ ■Zend Tech. Ltd. www.zend.com/ フレームワーク(一部) ■Zend Framework https://framework.zend.com/ ■Symfony https://symfony.com/ ■Laravel https://laravel.com/ ■CodeIgniter https://codeigniter.com/ ■Yii www.yiiframework.com/ ■FuelPHP https://fuelphp.com/ ■CakePHP https://cakephp.org/ テンプレートエンジン(一部) ■Twig https://twig.symfony.com/ ■Blade https://laravel.com/docs/5.1/blade
1012 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 18:37:45.96 ID:Ahhn3Ak50.net] 次スレ 【PHP】下らねぇ質問はここに 9 https://mevius.5ch.net/test/read.cgi/tech/1513760420/
1013 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 18:38:40.73 ID:Ahhn3Ak50.net] 996
1014 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 18:39:17.00 ID:Ahhn3Ak50.net] 997
1015 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 18:39:47.24 ID:Ahhn3Ak50.net] 998
1016 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 18:40:27.20 ID:Ahhn3Ak50.net] 999
1017 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 18:40:55.62 ID:Ahhn3Ak50.net] 1000
1018 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 280日 17時間 59分 33秒
1019 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています