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
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 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています