PHPでAPIを作ったんだけれど
処理時間が60秒経過したところで
HTTPステータスコードが504で返ってきてしまって
エラーログを確認したところ、下記のメッセージが
(70007)The timeout specified has expired:~
httpd.conf に下記の1行を追加したら解決した
デフォルト(記述がない)と60秒みたい
Timeout 120
PHPでAPIを作ったんだけれど
処理時間が60秒経過したところで
HTTPステータスコードが504で返ってきてしまって
エラーログを確認したところ、下記のメッセージが
(70007)The timeout specified has expired:~
httpd.conf に下記の1行を追加したら解決した
デフォルト(記述がない)と60秒みたい
Timeout 120
Puppeteer を使っていて
なにかと便利なwaitFor
だけどこんなメッセージが表示されて
いずれ使えなくなるみたいな。。。
waitFor is deprecated and will be removed in a future release. See https://github.com/puppeteer/puppeteer/issues/6214 for details and how to
migrate your code.
そんなときはコレだ!
const wait = (ms) => new Promise(resolve => setTimeout(resolve, ms))
(async() => {
。。。
await wait(3000);
。。。
DB::raw を使えばいけるんだろうけど
こんな感じでもいけるようなのでメモメモ
1 2 3 4 |
$unique = DB::table("table") ->distinct('column') ->count('column'); |
PHPで日付の差を比較するのは簡単にできるのでメモメモ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
// 現在時刻 $dateNow = new DateTime(); // 時、分を0にする $dateNow->setTime(0, 0); // 比較する時間 $dateTo = new DateTime('2020-10-10'); // 比較 $diff = $dateNow->diff($dateTo); if ($diff->invert == 1) { // もし$dateNowのほうが未来だった場合 $sa = "ehe"; } else { if($diff->y > 0) { $sa = "{$diff->y}年{$diff->m}ヶ月"; } else if($diff->m > 0) { $sa = "{$diff->m}ヶ月"; } else { $sa = "{$diff->d}日"; } } |
ほんとにただのメモ
・whoisインストール
dnf install epel-release
dnf install whois
・mecabインストール
dnf install mecab mecab-ipadic
・firewall設定 glassfish使うときとか
firewall-cmd –permanent –add-port={4848,8080,8181}/tcp
firewall-cmd –reload
なにかと便利なVMware
簡単な手順をメモ
・VMwareのダウンロード
https://www.vmware.com/jp/products/workstation-player.html
こちらからDLしてきたファイルを実行してインストール
・CentOSダウンロード
https://www.centos.org/download/
CentOS8のインストールは、いろいろな方が
まとめられているので割愛w
・VMware toolsのインストール
https://docs.vmware.com/jp/VMware-Fusion/11/com.vmware.fusion.using.doc/GUID-08BB9465-D40A-4E16-9E15-8C016CC8166F.html
こちらに従ってインストール
・フォルダ共有
通常の手順だけだとダメだった
vmhgfs-fuse .host:/ /mnt/hgfs
こちらをコマンドラインからたたくとできた
サーバ再起動後も有効にするためには /etc/fstab に下記を追記する
.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other 0 0
セル内のテキストに、特定の文字列が何回表示されるかを
調べたかったんだけど、関数がありそうでないので
自分でがんばらなきゃいけないらしい
1 2 3 4 5 6 7 8 9 |
// これが最終形態 範囲に調べたいセルを入れ、文字列も調べたい文字列に入れ替える =(LEN(範囲)-LEN(SUBSTITUTE(範囲,"文字列","")))/LEN("文字列") ① LEN(範囲) ⇒ 範囲で指定したセルの文字数を取得 ② LEN(SUBSTITUTE(範囲,"文字列","")) ⇒ 範囲で指定したセルのテキストから、指定した文字列を削除した文字数を取得 ③ ①から②を引いたものを文字列の文字数で割ったものが文字列の表示回数! |
Laravelのblade内で、DataTablesを使ってたんだけど
td の中にプルダウンを設置したくて、
どうにかできないかと
もっとよい方法がありそうだけど
とりあえずこれでしのいだ
1 2 3 4 5 6 7 8 |
{ 'data' : 'test', render: function(data, type, row) { let tag = '{{ Form::select('test[]', $testSelectList, null, ['class'=>'form-control']) }}'; tag = tag.replace('value="'+data+'"', 'value="'+data+'" selected="selected"'); return tag; } }, |
大量データのバックアップだったので
mysqldumpよりファイルのバックアップのほうが
よいかなと思ったので試してみたのでメモメモ
バックアップはコマンド一発
1 |
time mariabackup --backup --target-dir /tmp/backup/mysql --user=root --password=xxxxx |
特にDBを止める必要もないはず、、
–target-dir で指定したディレクトリ配下に
データディレクトリ(/var/lib/mysqlとか)の中身が
ごっそり格納される
それをtarとかで圧縮して管理すればいい感じ
続いてリストア
圧縮したバックアップファイルを解凍してから
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// 権限をmysqlに変更しておく chmod -R mysql:mysql /tmp/backup/mysql/* // DB停止 systemctl stop mariadb // mysqlデータディレクトリの中身を空に rm -fr /disk2/mysql/* // データ一貫性チェック mariabackup --prepare --target-dir /disk3/Lafaele/backup/mysql 最後に completed OK! と表示されればOK // リストア mariabackup --copy-back --target-dir /tmp/backup/mysql --user=root --password=xxxxx |
Laravel で ajax の POST通信をしようとしたところ
エラーとなったのでその対処方法をメモメモ
HTMLのどっかにmetaタグでcsrf-tokenの文字列を記載。
1 |
<meta name="csrf-token" content="{{ csrf_token() }}"> |
あとは、ajaxのところで、headerにこの値を
セットすればOK!!
1 2 3 4 5 6 |
$.ajax({ 'type': 'POST', 'dataType': 'json', headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, |
ついでに時間がたったら更新しておく
1 2 3 4 5 6 |
setInterval(refreshToken, 3600000); //1 hour function refreshToken(){ $.get('refresh-csrf').done(function(data){ $('meta[name="csrf-token"]').attr('content',data); }); } |