Vagrantを使用していると、.vagrant.d\tmpフォルダの下に大きなサイズのファイルが残っていることがあります。これはvagrantがboxのイメージファイルをダウンロードするときに使う一時フォルダです。 通常はtmpの下は空になるのですが、ダウンロードを...


LaravelではMailクラスによってメール送信処理を簡単に作ることができます。 ローカル開発やPHPUnitでは、実際にメールを送信させるのではなくファイルに出力させるなど、メールの送信メソッドがコールされた時の振る舞いを差し替えたい場合があります...


LaravelでVue.jsを使用したSPAサイトを作成していて、Basic認証とjwtトークン認証の組み合わせが必要だったのでメモ。 ## 作ったもの Vue.jsによるhtmlと、WebAPIによる非同期データ取得によるサイト構築を行った。 - WebAPIエンドポイント ...


LaravelでWebAPIサーバを作成する時、クロスドメインアクセスを行うためにCORSの処理を作成する場合があります。技術検証などでどこからでもアクセスできるCORSの処理をてっとり作ることが何度か発生したので手順をメモしておきます。 ## middlewareを...


LaravelでCORS処理を行いたい場合、barryvdh/laravel-corsパッケージを使うと便利です。 ## 作業手順 ### パッケージのインストール ```language-bash composer require barryvdh/laravel-cors ``` ### middlewareの有効化 ```language...


Laravelで.envを書き換えた内容が反映されない時は、artisan config:clearする。cache:clearではクリアできないので注意。 ```language-php php artisan config:clear ``` ファイルを直接消す場合は以下のコマンドを実行する。 ```language-bas...


Laravel7が標準で用意しているAuthでログインした時で行われていることを確認する。 (何度も同じことを調べるので、調べた結果をメモしておく) ​ ​ ​ ## GET /login ​ ログイン画面が表示される。 id/passを入力してLoginボタンをクリックすると`P...


## 発生した事象 Laravel7 + Vue.jsの開発で、`npm run hot`を実行したところ、EADDRINUSE / ELIFECYCLEエラーが発生し、ビルドが出来なかった。 ```language-bash $ npm run hot > @ hot /.../project > cross-env NODE_ENV=development node_...


composer.jsonにdockerコマンドを書いておくことで、laravelのプロジェクトを(PHPのビルトインサーバではなく)php-fpmを使ってコマンド1つで起動させることができます。 ## 作業手順 まず`composer.json`に下記の行を追加します。 ```language-j...


DockerでPHP7.4のコンテナを使ってhello worldを出力する最低限のコードです。 php-fpmの設定などでハマって問題の切り分けが難しい時などに覚えておくと便利です。 ## プログラムを用意 ```language-bash mkdir -p src/public echo '


LaravelのEloquentでsum()やavg()の集計関数を使うと、結果が数字でなく文字列で返ってきます。 ```language-php $totalScore = UserScore::where('team_id', $teamId)->sum('get_point'); \Log::info(json_encode($totalScore)); // "10" (10では...


PHPにはユニットテストを行う仕組みとしてPHPUnitがあります。 PHPのパッケージphpunit-watcherを使うことで、プログラムのソースが変更(Ctrl-Sで保存)されるたびに自動でPHPUnitを実行させることができます。 ## インストール phpunit-watcherの...


Macでhomebrewを使ってphp7.3をインストールする

2019年10月29日 | カテゴリ: Mac, PHP | タグ:
macOSでhomebrewを使って、php7.3をインストールする方法です ## 作業手順 macに入っているphpのバージョンを確認します。手元の環境では7.1でした。 ```language-bash $ php -v PHP 7.1.19 (cli) (built: Aug 17 2018 18:03:17) ( NTS ) Copy...


[Alpine Linux]apkコマンドのオプション

2019年6月30日 | カテゴリ: Docker
Alpine Linuxのパッケージマネージャであるapkコマンドのオプションです。 - apk update ローカルにあるdpkのインデックスキャッシュを更新する - apk search パッケージを検索する - apk add パッケージをインストールする オプション`--n...


Dockerfileの公式phpコンテナを使っていて、標準で入っていないextensionを追加したい時があります。 このような場合に備えて、公式コンテナではdocker-php-ext-installコマンドを用意してくれています。 以下のようにRUNコマンドを記述することで希...


Linuxのwatchコマンドでは指定したコマンドを定期実行し、その結果を表示することができます。 watchで監視したコマンドがパイプを含む場合、そのまま書くとwatchコマンドの結果をパイプ処理してしまい、想定通り動作しません。 ```language-bash # ...


PHPでクラスのコンストラクタは、引数がない場合はカッコを省略することができます。 ```language-php // どちらも書き方もOK $a = new SomeClass(); $a = new SomeClass; ``` どちらの書き方でも同じ動作をするのですが、どちらの表記法にした...


PHPでハッシュの配列(DBの検索結果など)を、特定のキーでグループかする方法です。 ## Laravelの場合 Laravelの場合はcollectオブジェクトにgroupBy()メソッドがあるため、これを利用できます。 ```language-php $collection = collect([ ...


CircleCIではcircleciコマンドをインストールすることで、ローカルのPCから`.circleci/config.yml`ファイルの定義に基づいたジョブの実行を行うことができます。 ローカルでのテスト中でターゲットのサーバへログインするために、sshのキーファイルをdock...


CentOS 7.xで空いているポートを調べる

2019年3月16日 | カテゴリ: Linux | タグ:
CentOS7で空いているポートはssコマンド(socket statistics)で確認できます。 TCPポートを確認したい場合は以下のようにコマンドを実行すれば良いです。 この例ではPort80, 22, 25, 3031, 3032がオープンしています ```language-bash $ ss -nat State ...


下記のスクリプトで、dockerコンテナ内でipコマンドを実行してIPアドレスを取得し、取得結果をbash変数に代入できます。 ```language-bash $ CONTAINER_NAME=nginx01 $ IP_ADDRESS=$(docker container exec -it $CONTAINER_NAME ip a s eth0 | grep i...


CentOS7でサーバ自身のIPアドレスを取得して変数に格納する方法です。 下記のコマンドではeth0インターフェースに割り当てられたアドレスを取得しています。 ```language-bash HOST_IP_ADDR=$(ip addr show eth0 | sed -nE -e 's/ *inet ([0-9.]*).*/\1...


python3.xの環境で、wikipediaのページを読み込み、htmlの内容を文字化けせずに画面に出力させる方法です。 今回はcchardetという文字コードの自動認識を行えるpipパッケージを使ってみます。 ## パッケージのインストール ```language-bash php3 ...


Dockerを使って、使い捨てのMySQL5.7サーバを起動する方法です ## MySQLの起動 rootのパスワードはランダム生成し、アプリケーション用のユーザ名とパスワードは起動時に指定します。 ```language-bash $ docker run \ --name mysql \ -p 13...