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
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 誤解してるわけでもなさそうだしまぁいいや 実際ビルドし直さずに最新版使えるならそれがベストではあるしな 是非成功させて勉強させてくれ