レンタルサーバ(ConoHa WING)で Laravel 環境を構築していたときに php artisan tinker
コマンドを実行すると、下記のエラーが出ました。
$ php artisan tinker
Psy\Exception\RuntimeException
Unable to create PsySH runtime directory. Make sure PHP is able to write to /run/user/[ユーザID] in order to continue.
at vendor/psy/psysh/src/Configuration.php:614
610▕ $runtimeDir = $this->configPaths->runtimeDir();
611▕
612▕ if (!\is_dir($runtimeDir)) {
613▕ if (!@\mkdir($runtimeDir, 0700, true)) {
➜ 614▕ throw new RuntimeException(\sprintf('Unable to create PsySH runtime directory. Make sure PHP is able to write to %s in order to continue.', \dirname($runtimeDir)));
615▕ }
616▕ }
617▕
618▕ return $runtimeDir;
+19 vendor frames
20 artisan:37
Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
エラーメッセージを見た感じ、権限が無いようです。
調べたところ、~/.config/psysh/
配下に config.php
というファイルを作成すれば大丈夫なようでした。
$ vi ~/.config/psysh/config.php
<?php
return [
'runtimeDir' => '~/public_html/[Lravelプロジェクトのルートパス]'
];
これで無事 tinker コマンドを実行できるようになりました。
$ php artisan tinker
Psy Shell v0.10.8 (PHP 7.4.14 — cli) by Justin Hileman
>>>