17/11/20 23:51:56.67 8KCSU74o0.net
>>942
コンテンツタイプを指定してストリームで受けとったら?
960:デフォルトの名無しさん
17/11/20 23:52:29.59 Qkk3FtfL0.net
そのファイルはxlsファイルで何十もある。ただ、ダウンロードするだけならheader関数で制御すればいいんだけど、
エクセルマクロをダウンロードしてから、それを一通り走査して値を代入する(図表も入ってるからPHPExcelは使えない)
流れとしては
サーバーPC上で元ファイルを複製
↓
複製したファイルをローカル環境上に配置(Desktop/固定フォルダ/タイムスタンプ/hogehoge1.xls)
↓
必要数を配置したら、xlsmファイルをダウンロード
↓
xlsmファイル上のVBAマクロが動き、配置したxlsファイルに値を出力(図表が混じってるので、PHP_Excelが使えない)
こういう動きをさせたいので
961:デフォルトの名無しさん
17/11/20 23:56:13.25 Qkk3FtfL0.net
>>943
ありがとう、ストリームについて調べてみる
962:デフォルトの名無しさん
17/11/21 00:06:48.02 ZEWdnSYv0.net
サーバ側のアプリケーションを作りたいのかクライアント側のアプリケーションを作りたいのか両方なのか
更にクライアント側でVBAを動かす処理系はどうするのか(Excel起動するの?)とか
963:デフォルトの名無しさん
17/11/21 00:36:29.65 nHtR4tFla.net
>>936
PHPは他言語の機能を積極的にパクってきましたが
PHPが他言語にパクられた機能というのは、特に思い当たりません
そういうところで軽視されがちなのは、
そんなPHPのオリジナリティのなさが原因ではないかと思います
964:デフォルトの名無しさん
17/11/21 00:41:02.65 tVCufCc10.net
当初ローカル環境だけで作ってたから、いざサーバーに載せ替えたときに、クライアント側で
ファイルの複製ができなくなったって所。ローカルだけだとPHPもVBAもちゃんと動いてたんだけど
Excelはクライアント側で起動させる
965:デフォルトの名無しさん
17/11/22 01:17:28.95 wJEVnqEH0.net
サーバサイドのコードもクライアントサイドのコードも書いて, どっちもローカルの環境では動いたけど
サーバサイドのコードを実環境にデプロイしたらサーバサイドのコードは正しく動くけどクライアントサイドのコードは正しく動かなかったってこと?
966:デフォルトの名無しさん
17/11/22 03:13:02.56 X0CV9K0Z0.net
禅問答か
967:デフォルトの名無しさん
17/11/22 03:36:33.52 Fja20xY70.net
早口言葉
968:デフォルトの名無しさん
17/11/22 03:39:53.11 wJEVnqEH0.net
対話的インターフェイス
969:デフォルトの名無しさん
17/11/22 15:50:49.68 HyQAr+nB0.net
ローカルの環境の中に、仮想OSをインストールして、スコープやパーミッションの相違を見落とすのを防いでおくのが吉
970:デフォルトの名無しさん
17/11/22 23:04:57.76 12pr/mHg0.net
うちの会社でもDockerやらAWSのサービス使って
Blue-Greenデプロイとかしたいけど
まだ手が出せてない
なんか難しそうだし
ローカルのPHP開発環境としてならDockerは使ってるんだが
971:デフォルトの名無しさん
17/11/23 00:48:07.37 0zddhcTM0.net
去年秋にリリースしたサービスはDocker使ってるけどノントラブルだな
それほどアクセスないからってのもあるだろうが
972:デフォルトの名無しさん
17/11/24 19:41:14.05 DaQyC7B30.net
質問です。
最新版のSQLiteを試してみたいのですが、やり方を知っている人は居ますか?
環境はPHP7.1.8+SQLite3.15.1(今年9月時点でのxampp最新版)で、
試しにSQLite3.21.0のDLLを公式からDLして差し替えてみましたが動作しませんでした。
他詳細を知りたければ以下で。
スレリンク(db板:646番)
973:デフォルトの名無しさん
17/11/24 21:22:21.08 NGnFjFYxa.net
自分でビルドできる前提?
974:デフォルトの名無しさん
17/11/24 21:26:05.17 9sTMSHCv0.net
XAMPPでのがしんどいよなぁ…
まさか開発用ってわけじゃなく勉強用だよね?
検証してくれる優しい人出るまで待つしかなさそう
975:デフォルトの名無しさん
17/11/24 21:52:04.12 DaQyC7B30.net
>>957
いや、出来ない前提。というかしたくない。
自分でしないと駄目なのか?ググッたらそのまま使えるみたいな人も居たんだが。
URLリンク(www.dbonline.jp)
なおSystem32に置いても駄目でした。
ちなみにxampp on Windowsね。(すまんこれを言い忘れていた、重要だったかも?)
ビルドするにしてもどうせVCだし、同じバイナリが出来るはずだから意味無いと思っている。
>>958
勉強用だけどAGPLv3でリリースするよ。それなりに動く物を作るつもり。
プログラミング初心者ではないから。
xamppってまずい?一番簡単だったからこれにしたが、
(というか最初はこれくらい簡単でないと無理)
今ならvirtualBoxとかに鞍替えできるけど、そっちの方がいい?
まあそもそもSQLiteのATTACHが異常に遅いのが問題で、
それが無ければ旧版で(つまりxamppで)問題なかったんだけどね。
976:デフォルトの名無しさん
17/11/24 21:57:17.25 C3/IvF2B0.net
XAMPP使わないからよく分からんのだけど, 同梱のphp_sqlite3.dllとかphp_pdo_sqlite3.dllのサイズを見る限りSQLite3は静的リンクされてるんじゃないのか?
ちゃんとDLLの中身見れば静的リンクされてるか動的リンクされてるかは分かるけど, 静的リンクされてるなら自分でリビルドが必要だよ
977:デフォルトの名無しさん
17/11/24 21:59:01.78 lD80x27g0.net
>>959
そのサイトで「使える」と言っているのは、PHPでSQLiteの利用が出来るというだけで、
実際にSQL書いていく時はファイルオープン、ファイルクローズなどやらないと行けないはず
その辺は必要箇所を見つけて自分で直さないと行けないのではないかな?
PHPでSQLを利用するサンプルを一度移植してみると分かると思う。
978:デフォルトの名無しさん
17/11/24 22:27:59.22 DaQyC7B30.net
>>960
Goみたいなキチガイじゃなければ、静的リンクなんてありえないと思うが。
また、静的リンクだったら差し替えても反応するはずが無く、そのまま3.15.1がリンクされっぱなしになるはずだが、
phpinfoで見ると消えてしまう。だから反応はしている。つまり動的リンクのはず。
サイズはほぼ同じ。
3.15.1(859,648Bytes)
3.21.0(852,754Bytes)
なお俺が使っているのは32bit版。
>>961
既に言ったが俺はプログラミング初心者ではないからその辺は分かっているし、
もう既に動かしている。
なおそのサイトは結構いいと思うよ。SQLはそこで基礎を確認した。
979:デフォルトの名無しさん
17/11/25 00:07:20.86 SR+igXjo0.net
>>962
残念だけどちゃんと調べたらソースごとバンドルされてるから静的ビルドよ
URLリンク(github.com)
980:デフォルトの名無しさん
17/11/25 00:11:53.87 SR+igXjo0.net
静的ビルドじゃねぇな, リンクでもないし静的に組み込まれてる
981:デフォルトの名無しさん
17/11/25 00:49:57.60 hdwDPoQO0.net
>>964
違うぞ。てかお前動的リンクと静的リンクの違い分かってないだろ。
ソースがそこにある=パッケージ内でビルドされている、であって、動的/静的は関係ない。
自分でDLLを作るとき、プロジェクト内にソースは当然あるだろ。
こっちも調べた。DLLを直接確認したらget_module関数が無い。それでググったら以下が出た。
URLリンク(www.php-cpp.com)
要するに通常のDLLでは無く、Zendのラッパ(ではないが)が必要で、そこからアドオンとして組み込んでる。
だからphp.iniを見て動的に組み込む。
FireFoxとかのプラグインと同じ構造(のはず)
Zendからヘッダを入手してビルドするのは面倒なので、
誰か既にビルド済みなのを探しているのだが(これがwindowsの利点だし)、今のところない。
誰か発見したらよろしく。
なおReleaseNoteを見る限り、ATTACH自体はまだ枯れてないので可能性がある。
> 2. Allow ATTACH and DETACH commands to work inside of a transaction.
> URLリンク(www.sqlite.org)
ただまあそれ以前に、ATTACHの仕方によっては遅くならないようなので、それも確認中。
982:デフォルトの名無しさん
17/11/25 01:43:46.47 hdwDPoQO0.net
ちなみにバイナリはあった。
URLリンク(windows.php.net)
そしてPHP7.1.12RC1のdllと差し替えたら反応はするのだがSQLite自体は3.15.1のまま。
おそらくPHP7.1系はSQLite3.15.1なのだろう。
ならばとPHP7.2.0RC6も試したが、
こちらはVC15のランタイムをインストールした際「再起動が必要」と出たが無視しているので結果は未定。
再起動無しの状態では使えない。(読みに行くがリンクできない関数があって落ちる)
983:デフォルトの名無しさん
17/11/25 02:08:17.99 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:デフォルトの名無しさん
17/11/25 08:23:48.80 hdwDPoQO0.net
>>967
> 実行時にPHPにロードされる
> 「静的に」
馬鹿乙。つかマジでもうちょっとちゃんと勉強しろ。
PHPerは馬鹿だとは聞いたが、なるほどこれでは馬鹿にされるだろうさ。
985:デフォルトの名無しさん
17/11/25 12:15:37.58 hVOq/yrX0.net
どっちにせよ、こんなことで時間潰れるの勿体ない
最初からVirtualBoxとかでやった方がいいと思うな
986:デフォルトの名無しさん
17/11/25 12:39:50.58 hdwDPoQO0.net
>>969
いや、virtualBoxの方がいいのか?
Unixにポーティングしたらそこで問題がー、って人も居るみたいだけど。
URLリンク(torhamzedd.halteria.com)
まあ言っていることはごもっともなんだが。xamppで実運用する可能性は皆無だし。
なおいろいろ試した結果、ATTACHの問題というよりは特性であり、
こちらのプログラムで改善/回避できそうな雰囲気なので、環境が悪いわけではなさそうだ。
まだ詳細を詰め切れていないが。
987:デフォルトの名無しさん
17/11/25 14:36:44.48 hdwDPoQO0.net
なおATTACHについては自己解決した。詳細は以下参照。
スレリンク(db板:647番)
これだと最新版で改善されている可能性もあり、試すべきだが、
再起動するのはかなり面倒なのでとりあえず放置する。(後日結果を報告するかも)
対応してくれた人はありがとう。
988:デフォルトの名無しさん
17/11/27 12:53:10.05 nNid/MSoM.net
用途をみるに、sqliteを最新にする必要があるのか謎。
989:デフォルトの名無しさん
17/11/27 12:54:20.73 nNid/MSoM.net
あー最新版の修正目当てか。失礼
990:デフォルトの名無しさん
17/11/27 17:21:44.79 hfMnpxmx0.net
>>968
痛々しいわ
SQLite関数を使う上での依存関係は
PHPコア -> php_sqlite3モジュール -> SQLite3ライブラリ
なんだから,
PHPコア -> php_sqlite3モジュール : 実行時にphp.iniの設定を見てロード
php_sqlite3モジュール -> SQLite3ライブラリ : php_sqlite3モジュールのビルド時に静的に組み込み
で何も矛盾してない
最初から最後までSQLite3ライブラリの最新版を使いたいなら「php_sqlite3モジュールを新しいSQLite3ライブラリを使って再ビルドしろ」が結論
991:デフォルトの名無しさん
17/11/27 19:07:02.53 pbeBNwkp0.net
>>973
3.21.0で追加された、transaction内でのATTACH/DETACHがあれば、
スレリンク(db板:663番)
に書いたtempの手法が使えるようになる。
ただ、今は、それ以前に、file_put_contentsでarchive用のjsonファイルを静的に作成する方法を試している。
速度は10倍ほど出ている。(DBに書くと40-60msかかるが、ファイルなら3-4ms)
今は本当にこれでいけるか、こちらに一本化すべきかを考えているところ。
(archiveは動的側面が全くないはずなのでいけるはずだが、運用上問題がないか?)
>>974
> 痛々しいわ
お前がな。最近この手の馬鹿は増えたが。
まあ永久に無知なままでいろ。
992:デフォルトの名無しさん
17/11/27 21:04:12.30 hfMnpxmx0.net
>>975
誤解してるわけでもなさそうだしまぁいいや
実際ビルドし直さずに最新版使えるならそれがベストではあるしな
是非成功させて勉強させてくれ
993:デフォルトの名無しさん
17/12/14 18:31:35.65 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:デフォルトの名無しさん
17/12/14 18:54:42.13 O42iwrkx0.net
なんか分かった気がします。
prepare? execute? がエラーを throw していたのですが、
それらをコールしている関数の外で try catch していたので、そこまで到達していなかったようです。
php.ini の設定なんですかね�
995:H とりあえず自己解決しました。 ありがとうございました。
996:デフォルトの名無しさん
17/12/14 21:55:30.52 c3uOfk7qM.net
解決したからいいけど、XAMPP環境での開発はお勧めできん
WindowsでもMacでもDocker使うなり仮想つかうなりで、
本番環境とほぼ同じ状態で開発しないと
PHPのバージョンや組み込まれてるライブラリ、php.iniもすべて合わせれば
そんなエラーで時間潰すこともまずなかろう
997:デフォルトの名無しさん
17/12/14 23:08:01.53 kcFY4zVmM.net
phpのフレームワークにララベル使おうかと思ってるんだけど、なんか他に良いフレームワークってあるの?
998:デフォルトの名無しさん
17/12/15 00:18:58.55 zZ0+kx4X0.net
個人的にはLaravelが一番いいと思うよ
FuelPHPとかPhalconとか最近はあまり聞かなくなったな
999:デフォルトの名無しさん
17/12/17 12:52:10.72 hlhRQlj10.net
>>979
XAMPP全く関係ないじゃん。ヴァカなの?
1000:デフォルトの名無しさん
17/12/19 01:55:46.54 lVjWNMP2a.net
WindowsのファイルシステムのエンコードはUTF-16 らしいですが
scandirで取得したファイル名はUTF-8になっています
これはPHPが内部で変換してるのでしょうか?
1001:デフォルトの名無しさん
17/12/19 10:43:30.09 lVjWNMP2a.net
Win10のコマンドラインからPHPを実行してUTF-8の文字列を表示すると
文字化けせずに表示されました
Win7以前はSJISに変換してから表示しないと化けたはずです
Win10のコマンドラインのエンコードはUTF-8になったのでしょうか?
だとすれば、コマンドライン=SJIS、を前提にして書かれたコードは
問題が出てきますよね
現に出ているから調べ始めたのですが・・
1002:デフォルトの名無しさん
17/12/19 12:01:10.63 lVjWNMP2a.net
バッチファイルからUTF-8文字列を出力するとやはり化けたので
WindowsではなくPHP側の問題かと思って検索したらありました
Windows版 PHP 7.1 で日本語パス(パス文字列のエンコーディング)が
対応されることによる影響
URLリンク(qiita.com)
1003:デフォルトの名無しさん
17/12/19 12:43:11.61 o48rTZ2B0.net
windows10が今手元にないからうまく答えれないけど、
コマンドラインでchcpってうってみて文字コード確認してみればいいんじゃない?
1004:デフォルトの名無しさん
17/12/19 13:15:06.92 1yPg30uza.net
ありがとうございます
しっかり932って表示されました
1005:デフォルトの名無しさん
17/12/20 09:16:36.60 +UrT0jgrM.net
>>982
はあ? あるじゃん
本番環境と開発環境の構成がずれててエラー起きてるんだから
1006:デフォルトの名無しさん
17/12/20 13:31:42.83 Wkwa3Cn2a.net
自分もXAMPPを使っているのですが
MySQLのデフォルトがInnoDBになっていたのでそのまま使っていたのですが、
データベースが壊れました
innodb_force_recoveryオプションを使って修復してもまたすぐ壊れます
MyISAMの時はmyisamchkにかければそれで直っていたのに。
InnoDBは同時アクセス対策の機能が豊富ですが
同時アクセスがさほど想定されない場合は
シンプルで堅牢なMyISAMを使うべきなのでしょうか?
1007:デフォルトの名無しさん
17/12/20 13:38:21.86 xHqi669x0.net
>さほど想定されない
dbの形式以前に、ロックをしない構文構造に問題があるのでは?
1008:デフォルトの名無しさん
17/12/20 13:45:16.71 Wkwa3Cn2a.net
ロックですか
していませんでした
MyISAMの時と同じ書き方をしていました
InnoDBではそういうのがいるんですね
ありがとうございます
1009:デフォルトの名無しさん
17/12/20 14:51:09.36 Xzv3JYGc0.net
InnoDBが壊れるってそうそう起きないだろ
ロック云々の人為的ミスで壊れるなんて今はまずないと思うけど
そのXAMPPのMySQLのバージョンいくつか知らんが、
5.1とか使ってるなら5.7に上げるのがいいと思うが
MyISAMにするってのはかなりズレてると思うよ
1010:デフォルトの名無しさん
17/12/20 15:34:56.61 8R4SVzVb0.net
>>3の修正案
関連リンク
■PHPマニュアル URLリンク(www.php.net)
■日本PHPユーザ会 URLリンク(www.php.gr.jp)
■PHPNG URLリンク(wiki.php.net)
■メーリングリスト URLリンク(ml.php.gr.jp)
(以下英語)
■公式リポジトリ URLリンク(git.php.net)
■PHP-RFC URLリンク(wiki.php.net)
■PECL URLリンク(pecl.php.net)
■Composer URLリンク(getcomposer.org)
■Packagist URLリンク(packagist.org)
■Zend Tech. Ltd. URLリンク(www.zend.com)
フレームワーク(一部)
■Zend Framework URLリンク(framework.zend.com)
■Symfony URLリンク(symfony.com)
■Laravel URLリンク(laravel.com)
■CodeIgniter URLリンク(codeigniter.com)
■Yii URLリンク(www.yiiframework.com)
■FuelPHP URLリンク(fuelphp.com)
■CakePHP URLリンク(cakephp.org)
テンプレートエンジン(一部)
■Twig URLリンク(twig.symfony.com)
■Blade URLリンク(laravel.com)
1011:デフォルトの名無しさん
17/12/20 15:38:27.23 8R4SVzVb0.net
>>993 >>3
スペース直した
関連リンク
■PHPマニュアル URLリンク(www.php.net)
■日本PHPユーザ会 URLリンク(www.php.gr.jp)
■PHPNG URLリンク(wiki.php.net)
■メーリングリスト URLリンク(ml.php.gr.jp)
(以下英語)
■公式リポジトリ URLリンク(git.php.net)
■PHP-RFC URLリンク(wiki.php.net)
■PECL URLリンク(pecl.php.net)
■Composer URLリンク(getcomposer.org)
■Packagist URLリンク(packagist.org)
■Zend Tech. Ltd. URLリンク(www.zend.com)
フレームワーク(一部)
■Zend Framework URLリンク(framework.zend.com)
■Symfony URLリンク(symfony.com)
■Laravel URLリンク(laravel.com)
■CodeIgniter URLリンク(codeigniter.com)
■Yii URLリンク(www.yiiframework.com)
■FuelPHP URLリンク(fuelphp.com)
■CakePHP URLリンク(cakephp.org)
テンプレートエンジン(一部)
■Twig URLリンク(twig.symfony.com)
■Blade URLリンク(laravel.com)
1012:デフォルトの名無しさん
17/12/20 18:37:45.96 Ahhn3Ak50.net
次スレ
【PHP】下らねぇ質問はここに 9
スレリンク(tech板)
1013:デフォルトの名無しさん
17/12/20 18:38:40.73 Ahhn3Ak50.net
996
1014:デフォルトの名無しさん
17/12/20 18:39:17.00 Ahhn3Ak50.net
997
1015:デフォルトの名無しさん
17/12/20 18:39:47.24 Ahhn3Ak50.net
998
1016:デフォルトの名無しさん
17/12/20 18:40:27.20 Ahhn3Ak50.net
999
1017:デフォルトの名無しさん
17/12/20 18:40:55.62 Ahhn3Ak50.net
1000
1018:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 280日 17時間 59分 33秒
1019:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています