PHP Warning: 'C:\Program Files\Microsoft\jdk-11.0.16.8-hotspot\bin\VCRUNTIME140.dll' 14.15 is not compatible with this PHP build linked with 14.29 in Unknown on line 0
原因
その1: phpの身勝手な非互換性宣言
その2: jdkの身勝手なdll添付
その3: Netbeansのバグ
通常のdll読み込み順序に関係なく
子プロセスに環境を継承して起動しているため、読み込み済みのdllが優先される。
解決方法
(1) Netbeansを開いていたら終了する
(2) 通常のシステム環境変数 PATHを
C:\Windows;C:\Windows\System32;
が最初に現れるように訂正する
(3) 通常は最新版が C:\Windows\System32にあるもので
共通ランタイムをjdkフォルダにいれていること自体 間違った使い方
不要な
C:\Program Files\Microsoft\jdk-11.0.16.8-hotspot\bin\VCRUNTIME140.dll
を削除や名称変更して無効化する
消したくない場合は
C:\Windows\System32\vcruntime140.dllを
C:\Program Files\Microsoft\jdk-11.0.16.8-hotspot\binにコピーする
執筆:2022.09.02
編集:2022.09.02
編集:2022.09.02
PHP Warning: 'C:\Program Files\Microsoft\jdk-11.0.16.8-hotspot\bin\VCRUNTIME140.dll' 14.15 is not compatible with this PHP build linked with 14.29 in Unknown on line 0
原因
その1: phpの身勝手な非互換性宣言
その2: jdkの身勝手なdll添付
その3: Netbeansのバグ
通常のdll読み込み順序に関係なく
子プロセスに環境を継承して起動しているため、読み込み済みのdllが優先される。
解決方法
(1) Netbeansを開いていたら終了する
(2) 通常のシステム環境変数 PATHを
C:\Windows;C:\Windows\System32;
が最初に現れるように訂正する
(3) 通常は最新版が C:\Windows\System32にあるもので
共通ランタイムをjdkフォルダにいれていること自体 間違った使い方
不要な
C:\Program Files\Microsoft\jdk-11.0.16.8-hotspot\bin\VCRUNTIME140.dll
を削除や名称変更して無効化する
消したくない場合は
C:\Windows\System32\vcruntime140.dllを
C:\Program Files\Microsoft\jdk-11.0.16.8-hotspot\binにコピーする
カテゴリー: ぷろぐらみんぐ
2022.09.02
SQLiteで多重同時アクセスすると本当に落ちるかやってみた!
SQLite Version 3
チェック方法
・テーブル更新とSELECTをする
書き込む必要がない場合は読み込み専用にすることができる
SQLITE3_OPEN_READWRITE
ができて、書き込み待ちになる
自動で対処してくれるのでこちらのほうが使い勝手がいい。
しかし書き込み中に、サーバースレッドのタイムアウトになるとデータが破損する可能性があるので
気を付けよう
★PHP7.3からPDO_SQLiteは読み込み専用モードで開くことができるようになった。
どちらがいいかは、案件によるので臨機応変に対応しよう。
SQLiteは同時アクセスするとロックでエラーになる
トランザクションが・・・。
などなど
という意見がありますが、
月間数万アクセスくらいなら平気で耐えれます。
たいていは他の原因です。
きちんと設計する。
サーバーのリソース制限などにより、実行中の処理中断でデータベースが破損することがあるので
SQLiteを利用する際は、定期的なバックアップを忘れないようにしましょう
執筆:2018.12.06
編集:2018.12.06
編集:2018.12.06
SQLite Version 3
チェック方法
・テーブル更新とSELECTをする
その1:PHP SQLite3クラスで試してみる
PHP Warning: SQLite3::exec(): database is locked in
と表示されクエリーは失敗する書き込む必要がない場合は読み込み専用にすることができる
SQLITE3_OPEN_READWRITE
その2:PHP PDO_SQLiteクラスで試してみる
DBファイル名-journalができて、書き込み待ちになる
自動で対処してくれるのでこちらのほうが使い勝手がいい。
しかし書き込み中に、サーバースレッドのタイムアウトになるとデータが破損する可能性があるので
気を付けよう
★PHP7.3からPDO_SQLiteは読み込み専用モードで開くことができるようになった。
どちらがいいかは、案件によるので臨機応変に対応しよう。
Webサーバー SQLiteで同時アクセス対策するには?
よくある疑問
SQLiteは同時アクセスするとロックでエラーになるトランザクションが・・・。
などなど
という意見がありますが、
月間数万アクセスくらいなら平気で耐えれます。
たいていは他の原因です。
主な原因と対策
- サーバーの同時プロセス数制限による503エラー
- 画像の枚数やサイズの確認
- ページキャッシュの利用を検討する
- SQLiteデータベースを長時間占有している
- プログラムを見直し、読み込み、書き込みを迅速に処理し、さくっとDBを解放する
- DBをきれいに解放してからクライアントに応答する。
- SQLiteは書き出しが遅いため、その処理時間を上回るリクエストが連続できている
- 設計の見直し
- データを更新する必要があるのか?
- SQLiteで運用できる限界を超えていないか検討する
まとめ
きちんと設計する。
サーバーのリソース制限などにより、実行中の処理中断でデータベースが破損することがあるので
SQLiteを利用する際は、定期的なバックアップを忘れないようにしましょう
カテゴリー: ぷろぐらみんぐ
2018.12.06
WYSIWYG エディター : Trumbowyg
試用してみた感想
サンプル:v2.10.0
テーブル
表やセルの詳細設定がないのが残念な仕様。
評価:★☆☆☆☆
今後も利用することはないでしょう。
試用してみた感想
サンプル:v2.10.0
テーブル
- 表の作成
- 行・列の追加・削除しか操作できない。
表やセルの詳細設定がないのが残念な仕様。
評価:★☆☆☆☆
今後も利用することはないでしょう。
カテゴリー: ぷろぐらみんぐ
2018.08.18
夏時間(DST)の資料
夏時刻:
一部の特権階級の安易な思い付きでオリンピックがあるから期限付きでやろうなんてことは、まず出来ない。アナログ時計の針を公正するような単純なものではない。IT関係の省庁が不可能と説得してくれるだろう。
夏時間の機械的な問題点
リンク
協定世界時間(UTC)
アメリカ
日本
現在のシステム時刻が夏時間であるかチェックする
指定した日付が夏時間かどうか判定するには?
夏時間中のタイムゾーンを取得するには
任意の夏時間中の日付時刻をutc時刻に正確に変換するには
夏時刻:
夏時刻導入に先立って法律を整備し施行する必要がある。
またJSTはUTC+9で決め打ちされている機器やソフトが多く実施するには十分な認知移行期間が必要であり、
夏時刻を来年から突然はじめましょうという具合に導入することはできない。
一部の特権階級の安易な思い付きでオリンピックがあるから期限付きでやろうなんてことは、まず出来ない。アナログ時計の針を公正するような単純なものではない。IT関係の省庁が不可能と説得してくれるだろう。
夏時間の機械的な問題点
-
- 記録時刻に夏時間の有無を明記していない場合、観測データや決済システムに支障をきたす恐れがある。
- 夏時間開始時に存在しない時間帯がある(時刻のスキップ現象)
- 夏時間終了直前は同じ時刻が2回存在する(時刻のリピート現象)
- ハードウェアの更新が必要になる場合がある
- OSの更新が必要になる場合がある
- ソフトウェアの更新が必要になる場合がある
- 物理的に不可能な場合がある(更新機能のない機器)
リンク
- 夏時間が適用されるタイムゾーンにおける mktime 関数利用時の注意事項について
https://blogs.msdn.microsoft.com/jpvsblog/2016/04/18/dst-mktime/ - 標準時間から夏時間への切替時に境界を明確にするには...()
https://docs.oracle.com/cd/E57425_01/121/NLSPG/ch4datetime.htm
協定世界時間(UTC)
アメリカ
太平洋標準時間(PST) : UTC-8
太平洋夏時間(PDT)
日本
JST(日本時間) : UTC+9
日本の夏時間の記号は?
現在のシステム時刻が夏時間であるかチェックする
- GetDynamicTimeZoneInformation 関数
- php言語: date('I')
指定した日付が夏時間かどうか判定するには?
- php言語: date('I', $timestamp)
夏時間中のタイムゾーンを取得するには
- GetDynamicTimeZoneInformation 関数
- php言語: date_offset_get
任意の夏時間中の日付時刻をutc時刻に正確に変換するには
- ?
カテゴリー: ぷろぐらみんぐ
2018.08.13
php build-in server Segmentation fault (core dump)
php: 5.x - 7.2
これだけで発生するので、
PHPがバッファオーバーランしてるんでしょうね
php: 5.x - 7.2
- index.php
<?php
exit; - php -S localhost:8000
- http://localhost:8000/ にアクセス
Segmentation fault (core dump)
と表示されPHPが停止する
これだけで発生するので、
PHPがバッファオーバーランしてるんでしょうね
カテゴリー: ぷろぐらみんぐ
2018.07.07