write ahead log

ロールフォワード用

php

PHPでmultipart/formdataの中身を直接見たい

php

PHPで以下のようにするとHTTPのbodyをそのまま見ることができる。 $postBody = file_get_contents("php://input"); なんだけど、multipart/form-dataの場合にはこの手が使えないらしい。 過去には$HTTP_RAW_POST_DATAという変数があったらしいが削除されたっ…

php.iniを環境変数で指定したい

php

かなりレアケースだと思うんだけど、環境変数でphp.iniを指定したかった。 よくわからなくてChatGPTに聞いてみたりしたけどダメで、結局公式を読めばよかった。 www.php.net PHPRCという変数があるらしい。 PHPIniDirでディレクトリ指定してもよかったのかも…

PHPでHTTPリクエストをダンプするやつ

定期的に書くのでベタにメモっとくことにした. アクセス内容をlogs/log.txtへ吐き出す. ディレクトリを作って権限の割り当てだけ忘れないように.

PHPのcurlでhttpsのURLへアクセスする(SSL)とエラーになった

php

status取得したら0が返ってくる。なんだこれ。 と思っていたら結構有名な話らしい。 【php】curlでSSL通信をCA証明書のチェックありで at softelメモ PHPの curl 関数でhttpsのウェブページが取得できなかった - bayanの<del>電波</del>日記 PHPでcurlを使ってHTTPSにア…

Postfixで受けたメールをスクリプトで処理したい

php

メールを受けたら内容を自動解析してほしいとかたまにあるやつ。 Postfixの設定 alias機能を使うとできるらしい。 sudo vi /etc/postfix/main.cf とりあえずこんな感じにしてみる。 下2行のalias設定の有効化が大事。 myhostname = mail.hogehoge.com mydoma…

エックスサーバー(Xserver)で特定ディレクトリ(サブドメイン)を別のPHPバージョンで稼働させる

php

色々なサイトで書かれていますが、実際試すと微妙にハマりポイントがあったので。 そもそも古いPHPはもうやめたいですけどね。。。 大まかな流れ 使用するPHPバージョンを決める コントロールパネルから「Xアクセラレータ」をOFFにする 配置するファイルを用…

PHPでiPhoneの写真からサムネイル作ると向きが変わって困った

php

ExifのOrientation情報使って表示してね、って仕組みらしい。へー。 サムネイル作りたい サムネイル作成はこちらをそのまま参考にさせてもらった。 Qiita| PHP: GDで画像のサイズ変更やサムネイル生成のやりかた 画像の向きかわるやん で、上記まで試すと向…

mpdfで改ページを入れたい

php

mpdfでwriteHTML()でPDFを作るときにタグを使って改ページしたいときがある. ググるとAddPage()を使おうとばかり出るんだけど, 普通にタグでもできた. 以下のようにブロック要素にスタイルを加えればいいそうだ. <div style="page-break-before: always"></div> やはり公式を見るのが早い. Page breaks – P…

Laravel Duskで要素数を数えたり現れる順序をテストしたかった

直接的なアサーションがなかったから作った. TestCaseでuseして使うtraitにしてみた. たぶんMacroを用意するのが正当なアプローチだと思うんだけど, 調べるの面倒で雑に書いてしまった. myAssertElementsCountIs($browser, 'tbody>tr', 1); */ p…

Laravel6でページネーションのテストする時に困った事

メモ書き. ハマった点は assertViewHasにはpaginate()の結果を渡してやる必要がある(これはまぁそうだよね) assertViewHasに渡すデータはwithでeagar loadingしたデータを渡す必要がある それっぽいコードを書くと、以下ではダメで // 検索結果が昇順でソー…

laravelでdusk使う時にやること

毎回忘れるから雑にメモ. HomesteadでなくCentOSの場合 chromeを入れてやる必要がある. vi /etc/yum.repos.d/google-chrome.repo [google-chrome] name=google-chrome baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch enabled=1 gpgcheck=1…

Homestead上でlaravelのdusk使おうとしたらFailed to connect to localhost port 9515: Connection refusedって言われる

結論としてはchromeとchrome-driverに必要なライブラリが入っていなかったからっぽい. Homesteadって全部入りではないのか... っていうか以前のバージョンなら問題なく動いた気が...なぜなのだ... # 直接実行するとchrome-driverがそもそも動作しない $ ./ve…

Laravelで画像をリサイズする際のメモ

Laravel 5.7で試した. intervention/imageを使った. 他にも透かしを入れられたりと便利. 基本的に上記の公式を見るのがよい. 以下は怠けたいとき用. composerでパッケージのインストール $ composer require intervention/image laravelのconfigへ追記 confi…

Laravelでcomposer使うとやたらIt is unsafe to run Dusk in production.と言われる時の対処

なんか前も同じ事やった気がするのでメモっとく. composer installとかcomposer updateをすると以下のメッセージが出てくる. It is unsafe to run Dusk in production. 本番環境でDusk入れるなあぶねーぞだそうだ.うん.そうだね. 対処 composer.jsonに以下を…

Laravelでビューの独自ヘルパ関数が欲しいときにはどうすればいいのか

わからん. が, とりあえず調べてみると説得力あるのが以下だった. teratail の回答 要は「Laravel公式でもヘルパ関数が用意されているんだから, その実装方法を見習え」ということっぽい. 確かにLaravelには豊富なヘルパ関数がある. 単純に実装する この方法…

Laravelで複数フィールドを組み合わせてバリデーションした時のメモ

FormRequestを使ってバリデーションを書いていた時に, ややこしい条件でバリデーションをかけたくなった. 個別のフィールドに対して検証するのではなく, フィールド2つ以上を組み合わせて検証とか, DBの値を使ってとか. 単一のフィールドそれぞれの検証なら,…

Laravelのページネーションで次ページにパラメータを渡す

初心者なのでメモばかりになる. よくある一覧ページ(検索条件で絞って次々に見ていくやつ)を作っていた. 検索で次ページへ移動すると検索条件が引き継がれてなくて, ページネーションでパラメータが渡っていないことに気づいた. ページネーションは以下のよ…

Laravel困ったときメモ

Laravelでアプリを初めて作った時のメモがSimpleNoteに残ってたので記事にして保管しておく. わりと当たり前の事も書いてあるけど, まぁ, いいや. たぶん追記していくことになる. モデルとかコントローラーとか一括で作りたい 以下でmodelとcontrollerとmigr…

homesteadからHerokuへデプロイした時のメモ

参考サイトほぼまんまだけど, メモ. herokuアカウントを作る アクセスして作る. CLIツールを入れる homestead上で入れた. sudo snap install --classic heroku CLIツールでログインする vagrant@homestead:~/code$ heroku login heroku: Enter your login cr…

Laravelで見積管理システムを作った

雑だけど, 作った. github.com 最近, 新しいフレームワークや言語を触るときには簡単な業務システムを作るようにしている. (もちろん, 業務系で使える技術ならではあるが) 昔作ったやつは以下. VB.NET(Windows Forms)で見積管理システムを作った Rails5で簡…

Homesteadで別名のVMを作りたい

プロジェクトが複数同時に走るとか, よくある事なので. 普通はどうするんだ? 以下を見ると1つのVMを共有して使うようですね. Homesteadを使って複数のLaravelプロジェクトを作成する簡単な方法 ホスト名で切り分けると. VM分けたいんだけど... VM分けたいで…

Laravelでクエリビルダを使う

Laravel 5.7.4で試した. LaravelにはQuery Builderが備わっています. SQLインジェクション対策も施されていて, それなりに複雑なクエリも書けるので, O/RマッパーのEloquentだと複雑になりそうな時には便利っぽいです. 試すための事前準備 DBにはPostgreSQL…

Laravel bladeで長い文字列を丸める

Laravel Framework 5.7.4で確認. ググっても案外パッとは出てこなかったので書いておく. Railsのtruncateみたいなのが欲しかった. str_limitを使えば良いらしい. {{ str_limit($string, $limit = 150, $end = '...') }} Helperがいっぱいあるので一通り見て…

Laravel - Homestead環境でPostgreSQLを使う時のメモ

一応メモっとく. Homesteadで環境は作ってある前提 プロジェクトを作る&バージョン確認 codeというプロジェクトを作成. vagrant@homestead:~$ composer create-project --prefer-dist laravel/laravel code バージョンは5.7.4 vagrant@homestead:~/code$ php…

Laravel標準の機能で認証フォームを作る

Homestead上のLaravel 5.7.4で試した. Laravelには認証を実装するための機能が標準で付いてきています. 認証はどこでも必要になるので入門するには良いとっかかりということで, 利用してみました. 実装できる機能 標準でもこれだけ実装できます. ほとんどの…

Homestead環境をWSL(Ubuntu)上で用意した時のメモ

忘れそうなので, とりあえずざっとメモ. vagrantをWSL上に入れる 別記事にした. Homesteadのインストール WSL(ubuntu)で作業. $ git clone https://github.com/laravel/homestead.git $ bash init.sh # Homestead.yamlが生成される. 必要なら生成ファイルを…

HomesteadでWindows10上にLaravel開発環境を構築した時のメモ

先にざっくり概要 VirtualBoxを入れる Vagrantを入れる Git for Windowsを入れる HomesteadのVagrant boxをダウンロード Homesteadのgitリポジトリをclone init.batを起動 環境変数を設定 ssh-keygenで鍵を作成 Homestead.yamlを編集 vagrant upでVMを起動 v…