[Laravel] サーバー移転時にはブートストラップのキャッシュをクリアする

稼働しているLaravelプロジェクトを別サーバーにコピーして動かそうとしたらエラー。エラー内容は、旧サーバーのディレクトリ構造に従ってファイルを探しに行ってしまうせいでファイルが見つからないというもの。おそらくはキャッシュによるものだと予想。artisanコマンドでキャッシュをクリアするも解決せず。artisanコマンドでクリアできないキャッシュって何だろ?

調べていくうちに参考サイトがヒット。ブートストラップのキャッシュが悪さしているっぽい。/bootstrap/cacheディレクトリにあるphpファイルを削除することで解決したので覚え書き。

参考サイト

php – Server moved,got error – Stack Overflow
https://stackoverflow.com/questions/49964674/server-moved-got-error

[PHP] phpunitで指定したスイートのみテストする

phpunit.xml には複数のテストスイートを定義することが出来る。例えば以下のように。

定義されているスイートをリストするには –list-suite オプションを指定する。

特定のスイートのみを指定してテストしたければ –testsuite オプションでスイート名を指定する。

[PHP] 可変長引数リストの使い方

新しいPHPの構文に関する覚え書きとして、公式サイトから抜粋。

PHP: 関数の引数 – Manual
https://www.php.net/manual/ja/functions.arguments.php#functions.variable-arg-list

PHP 5.6 以降では、引数リストに … トークンを含めることで、その関数が可変長の引数を受け取ることを示せます。引数は、指定した変数に配列として渡されます。

… を使った、可変長引数へのアクセス

関数を呼び出すときに … を使うと、配列変数や Traversable クラスを引数リストに含めることができます。

引数での … の使用例

通常の引数を、… の前に指定することもできます。この場合は、通常の引数リストにマッチしなかったのこりの引数が … による配列に追加されます。… トークンの前に、タイプヒントを付加することもできます。タイプヒントがある場合、… が取り込むすべての引数はそのヒントに従わなければいけません。

タイプヒントつきの可変長引数

[Laravel] キャッシュクリアのコマンド (復習)

以前にも書いてるけど、よく忘れるので復習。

[Laravel] キャッシュクリアのコマンド – 端くれプログラマの備忘録
https://www.84kure.com/blog/2018/11/10/laravel-%e3%82%ad%e3%83%a3%e3%83%83%e3%82%b7%e3%83%a5%e3%82%af%e3%83%aa%e3%82%a2%e3%81%ae%e3%82%b3%e3%83%9e%e3%83%b3%e3%83%89/

基本的なキャッシュクリアコマンド

ちょっと踏み込んだキャッシュクリアコマンド

キーの作り直し

参考リンク

Laravel キャッシュクリア系コマンドなど – Qiita
https://qiita.com/Ping/items/10ada8d069e13d729701

Differences between “php artisan dump-autoload” and “composer dump-autoload – Lavalite
https://lavalite.org/blog/differences-between-php-artisan-dump-autoload-and-composer-dump-autoload

[Laravel] Homesteadの起動時エラー VERR_INTNET_FLT_IF_NOT_FOUND

ローカルの開発環境を再構築すべく、VirtualBoxとVagrantをクリアインストールした後、Homesteadをインストールして起動したらエラー。エラー内容は’HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter #2’のオープン/作成に失敗したとのこと。

思い当たる節は無し。ググったら以下の記事を発見。

Fix: Failed to open/create the internal network ‘HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter’. Error “VERR_INTNET_FLT_IF_NOT_FOUND” with Docker QuickStart Terminal and inside Oracle Virtual Box – Gaurav’s Blog
https://blogs.msdn.microsoft.com/gaurav/2016/11/19/fix-failed-to-opencreate-the-internal-network-hostinterfacenetworking-virtualbox-host-only-ethernet-adapter-error-verr_intnet_flt_if_not_found-with-docker-quickstart-terminal/

記事を参考に以下試す。

  1. ネットワーク接続で’HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter #2’を特定。
  2. プロパティでVirtualBox NDIS6 Bridge Networking Driverのチェックボックスをオンオフ
  3. ネットワークアダプタを一旦無効にして再び有効にする。

たったこれだけでエラー解決。ソフト(仮想ネットワークアダプタ)のくせして振る舞いはまるでハードみたいだね。

[Laravel] Debugbarのセットアップ

composerでインストールして

設定ファイルを生成して

.envに設定を書く。

参考サイト

Laravel5.7: Laravel Debugbarを使う – Qiita
https://qiita.com/sutara79/items/9fd442a81001842aeba1

開発に欠かせない Laravel Debugbar の導入 – Larapet
https://larapet.hinaloe.net/2017/03/07/%E9%96%8B%E7%99%BA%E3%81%AB%E6%AC%A0%E3%81%8B%E3%81%9B%E3%81%AA%E3%81%84-laravel-debugbar-%E3%81%AE%E5%B0%8E%E5%85%A5/

[Unix] ディレクトリやファイルのパーミッションを一括変更する

使う頻度が多い割に覚えていないので覚書。

ディレクトリ一括変更

ファイル一括変更

参考サイト

ディレクトリは755 ファイルは644 一括権限更新シェル – Qiita
https://qiita.com/suin/items/2100dc48ec93df58ebf9

[WordPress] データベースを直接編集してプラグインを無効化する

wp_optionsのoption_name=’active_plugins’のレコードを編集する。

option_valueの形式は以下のようになっている。

a:5:{プラグイン1;プラグイン2;プラグイン3;プラグイン4;プラグイン5;}

括弧{}に挟まれてプラグインの情報がセミコロン(;)で繋いで記述されている。冒頭のa:に続く数字(この例だと5)がプラグインの総数である。なので、括弧{}内の無効化したいプラグインの情報を削除してから、先頭の数字(プラグインの総数)を削除した分だけ減じてやれば良い。

上の例でtaxonomy-terms-orderプラグインを無効化したければ、以下のように変更すればよい。

変更前

a:5:{i:1;s:43:”all-in-one-seo-pack/all_in_one_seo_pack.php”;i:5;s:23:”siteguard/siteguard.php”;i:6;s:45:”taxonomy-terms-order/taxonomy-terms-order.php”;i:7;s:43:”wp-maintenance-mode/wp-maintenance-mode.php”;i:8;s:41:”wp-multibyte-patch/wp-multibyte-patch.php”;}

変更後

a:4:{i:1;s:43:”all-in-one-seo-pack/all_in_one_seo_pack.php”;i:5;s:23:”siteguard/siteguard.php”;i:7;s:43:”wp-maintenance-mode/wp-maintenance-mode.php”;i:8;s:41:”wp-multibyte-patch/wp-multibyte-patch.php”;}

[WordPress] データベースを直接編集してサイトURLを変更する

  • サイトURLはwp_optionsテーブルに格納されている。
  • option_name=’home’には、一般設定の「WordPressアドレス(URL)」が格納されている。
  • option_name=’siteurl’には、一般設定の「サイトアドレス(URL)」が格納されている。

[WordPress] データベースを直接編集してパスワードを変更する

  • ユーザ情報はwp_usersテーブルに格納されている。
  • ログイン名はuser_loginカラムに格納されている。
  • パスワードはMD5ハッシュでuser_passカラムに格納されている。