スポンサーリンク

レンタルサーバでLaravel環境構築時にtinkerコマンドでエラーになる

レンタルサーバ(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
>>>