だ。ログ。

開発とかスノボとかやきうとか。

開発

Laravelで時間がUTCになってしまう

保存している時間がおかしい Laravelでアプリ開発をしていてログを作る機能があったので何気なく $date = date('Y-m-d H:i:s');と言う変数にdate関数で日付と時間を入れ実行。期待結果 2023-12-07 10:00:00となるはずが 実行結果 2023-12-07 01:00:00 と記録…

PHPのfwriteでのエラー

管理画面でfwriteを使ってCSVを作成し、zipに圧縮してダウンロードさせる物があるのだがzipが開けないと言う報告を請けた。 既に運用して1年くらい経っていて、今までそんな兆候すらなかったシステムでのエラーなので不可解に思ったが調査。まずはLinuxのエ…

AWSのロードバランサにSSLにある際の強制SSLリダイレクト

サーバー側とアプリケーション側で開発が別れていると、サーバーサイド側の構成をあまり意識せず書いてしまう事が多いが 強制SSLのリダイレクトを.htaccessに書くと <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{R</ifmodule>…

ckEditorに属性を入れる

ckEditorと言えば、htmlタグを自由に編集出来るエディターとして自分は重宝している。 そのまま吊るしの状態で使う分には非常に使い勝手がよく、kcFinderと連動させると画像のアップロードも簡単なので htmlタグをあまり知らなくても、この見出しとこのリン…

配列をmb_convert_encodingするとアプリが動かなくなる

ありがちな事だが、テスト用サーバーは古いシステムも新しいシステムも混在する。 なので古いシステムにコンポーネントを合わせて環境がセットアップされている。新しいシステムで、CSVのアップロードが必要との事でローカルの開発環境は常に最新の環境にし…

MacOSをMontereyにしたらVagrantが動かなくなったハナシ

MacのOSをアップデートする 何もない。 と思って金曜日の夕方にアップデートしたMacOS 月曜日の朝に起動しローカル環境のいつもの vagrant upを行うがエラーが。 $ vagrant up Bringing machine 'default' up with 'virtualbox' provider... ==> default: Ch…

iCheck.jsのイベントが発火しない

iCheck.js 視覚的にチェックボックスを柔らかく見せてくれるので、特に管理画面なんかで使うiCheck.js イベントを拾ってどうこうしたいとやっていた ## element側 <input type="checkbox" class="flat-red" id="hoge" name="hoge" value="hogehoge"> hoge ## js側 $("#hoge").change(function(){ alert("うごいたよー"); }); hogeという要素に…

vagrantをアップデートしたら起動しなくなった

$ vagrant up There was an error while executing `VBoxManage`, a CLI used by Vagrant for controlling VirtualBox. The command and stderr is shown below. Command: ["hostonlyif", "create"] Stderr: 0%... Progress state: NS_ERROR_FAILURE VBoxMan…

Let's Encryptの担当者のメールアドレス変更

商用環境ではあまり使っていないが、どうしてもスモールスタートをする場合のネックとなる有料SSL 結構色んなところで利用はしているが、担当者が居なくなってSSLの更新をサボっている。もしくはcertbot更新用のバッチを作っていないなんて事も見られる。ま…

Let's Encryptの証明書の更新エラー

上手く更新が出来ない もともと手を入れていないサーバーなので、自分の管理外だったのだが「SSLが更新出来ない」との依頼。 $ certbot renew Beginning June 1, 2020, we will stop allowing new domains to validate using the ACMEv1 protocol. You shoul…

CakePHPのセッション管理

CakePHP2のフォームを作る方向で調査していたのだが、POSTの際には $this->request->data で参照出来るのだが、リロードした場合にrequestから全て消滅してしまう。 リロード対策としてPOSTした先でセッションに格納と言う事でなんとか対処しようと $this->S…

mysqlのインポートでRow size too largeが出た場合の対処

そもそも基本的なテーブル構成はインポート出来るがデータ内の容量が大きくなってしまっている時に出るエラーで 意図していないが、開発環境でページの確認をする為に長いデータを入れた際の事を考慮せずにダラダラとデータを入れ続けた結果 インポートする…

PHP7.2環境でのZIPの展開エラー

前にもLaravelで同じような記事を書いたが NOT LOAD extension "ZIP" と言うエラーが出て、環境が復元出来ない事があった。どうしても古い環境なので、その依存性が高い事自体があまりよくない事だが、CentOS7+PHP7.2の環境でyumを利用したインストールで忘…

SSHのポートの変更

既に構築済みのセキュアなネットワークの中に新規にサーバー構築する分には何も問題はないのだが、どうしても裸でのサーバーを構築しなければならない状況がある。 root権渡すから好き勝手にやってくれってなサーバーの構築する際に起動したら即やる事として…

MacでのDBツールを何にするかと言うはなし

開発環境がいままでWinを主軸にしていたので、Macは遊びと言うか自分が使う分に困らなきゃ程度に考えていた。 ただ、2020年冬の状況下を考えると会社外での仕事をする状況もおうおうにして出てくる事が考えられる。 政府の対策が後手に回ってしまっている事…

SQLからCSV出力した際に携帯電話の0頭を表示させる

結構あるのがデータをCSV形式でダウンロードした際に、携帯電話番号の0が抜けてしまう。正) 080334334334 誤) 80334334334後者となってしまう形である。 要は頭の0が抜けてしまっている状態であると言うこと。 PHPなどのアプリケーション側で形成するのも…

SQLでの月別データの集計方法

集計として月別のレコード作成数 PHPでチョチョいと書けば出来る事は多いが、意外とラクをしたい。 今回の場合は絡むに作成日時[ create_date DATETIME型 ]が存在する。これはDATE型でも良い。 SELECT DATE_FORMAT(hoge.create_date, '%Y-%m') AS time, COUN…

SQLのエイリアス名を条件に使う

AS句を使って、明示的にカラム名を変える事は多々ある。 ただ、このAS句を条件式に加えたいと言う事もある。 最たる例は集計関数を使った時 SELECT COUNT(hoge.fuga) as mofu FROM hoge WHERE (mofu > 100) この問い合わせはエラーとなってしまう。 mofuと言…

使わなくなったLet's Encryptの設定削除

作るだけ作って用済みになったテスト用のサーバーのデータを削除する。 うっかり忘れがちなのがLet'sEncryptのSSLを利用していた設定の削除。他の証明書を更新した際に、DNS解決出来ないと怒られる。 毎回忘れるのでコピペ $ certbot delete -d hoge.fuga.co…

get_headersでHTTPステータスコードが正しく取れない

自分達だけ使っているシステムだとオペレーション上でなんとでもなる事かもしれないが、他人が使っている場合どうしても突拍子もない操作から想定していない自体が起こりうる。 画像が消えた!と言う事を言われる。そもそも既存であるシステムのため、レコー…

wordpressのPOST先が ページが存在しません になってしまう。

フォームを作っていて、何気なく要素名を決めて送信していたのだが フォームから自分にPOSTをした際に何故か「ページが存在しません」となり、設定したコントローラにすら到達出来ていない。 言わばPOSTしたデータを確認しようとしてexitを設定してもその前…

WordPressの固定ページ、投稿で自作PHPの呼び出し

動的なサイトをWPで作らねばならない状況になった。 もともとEC-CUBE等はやってきたが、WPは縁がなかった。 とは言え、今後メシを喰うためにと言うワケではないが動的にデータを取得し、最終的には動的にページを作れるようにならないといけない。 地道に勉…

ALB+EC2+WordPress+iOS11の際にページが見れなくなる

問題点 [iOS11端末] →→ [ ALB ※SSLインストール ] ー [ EC2 ※Wordpressインストール]図とするとこんな感じ。 iOS11(iPhoneX)にてページを閲覧しようとアドレスバーにURLを入れるとURLが消えてページにたどり着けない。 何かしらのエラーも起きないし、PC等…

WordPressのプラグインにFTP情報を聞かれる

AWS ec2インスタンスでWordPressを構築した際にFTPサーバーを構築せず、いわゆるデフォルトのユーザーである ec2-userにてアップロードをしてインストールした。 この後にする事として、SSL化等のプラグインを入れる必要があるがプラグインを検索してインス…

lazyloadのイベント発火

ページの速度を少しでも上げる為にlazyload.jsを導入して遅延読み込みをする。 ただ、既存のWebページに入れる際に要素が色々と絡まり合ってて上手くいかない事がある。今回の場合はdisplay:noneでタブを制御に画像が入っている。 初期ロード時はページスク…

IPでページ表示時のリダイレクト

IP直叩き リダイレクトこの辺の言葉が全てになるが、IPアドレスをブラウザで叩いた際にページが見えてしまう。 apacheの設定上、0.confとか作っておいて優先順位が最上位のconfを読ませておけば。と思ってしまうが商用稼働してしまっているサイトの場合停め…

Excelとかスプシの列の移動

PHPでExcelとかスプレッドシートを扱う場合に行の移動は数値なので数値を足していけば良い。 しかし横の列に値を入れたい。ってときにどうすればって事で悩む。 A~Zで済むなら配列にABCD持たせて…?等思ったが列数がオーバーした段階で詰む。要はA~Zを越え…

bootstrap3のテーブルのhoverの際の色を変える

自分みたいなコテコテのエンジニア気質であっても、現代のWebでは最低限表示要素の管理をしないとjavascript系の操作が出来ない。 そしてページデザインを要しないbootstrapでのプロトタイプを先行して作成する。等のモックアップの作成等も必要となってくる…

manifest.jsonをベーシック認証付きサイトで認識させる

開発サイト等でベーシック認証を掛けてアクセス制限をしている際に、pwa化を行う為にmanifest.jsonを設置していると認証に引っかかってしまい読み込む事が出来ない。 なので、ベーシック認証の前に除外する設定が必要となる。 該当となる.htaccessに <Files ~ "^(manifest\.json|site\.webmanifest)$"> Requir</files>…

LetsEncrypt証明書をcentos7にインストールする

開発用サーバーのSSL化ってのも現在は必要になっている。 アプリケーションとして環境差異、特にSSLのみで動作に影響あるようなシステムを作ってはいないと考えたいがある程度は整えておきたい。古い開発手法をしていると*.hoge.fugaのマルチドメイン対応で…