hello foo bar Saba note | tinkerを実行するとErrorになる

tinkerを実行するとErrorになる

2019.9.16 (月)

php artisan tinkerを実行すると以下のようなエラーで実行できないことがあります。

In Configuration.php line 363:
[ErrorException]            
mkdir(): Permission denied  

-vvvvをつけて、デバックモードでコマンドを実行してみます。

$ php artisan tinker -vvvv

In Configuration.php line 363:

  [ErrorException]            
  mkdir(): Permission denied  


Exception trace:
 Illuminate\Foundation\Bootstrap\HandleExceptions->handleError() at n/a:n/a
 mkdir() at /var/www/laravel5/vendor/psy/psysh/src/Configuration.php:363
 Psy\Configuration->getRuntimeDir() at /var/www/laravel5/vendor/psy/psysh/src/Shell.php:198
 Psy\Shell->getDefaultCommands() at /var/www/laravel5/vendor/symfony/console/Application.php:1219
 Symfony\Component\Console\Application->init() at /var/www/laravel5/vendor/symfony/console/Application.php:443
 Symfony\Component\Console\Application->add() at /var/www/laravel5/vendor/psy/psysh/src/Shell.php:142
 Psy\Shell->add() at /var/www/laravel5/vendor/symfony/console/Application.php:429
 Symfony\Component\Console\Application->addCommands() at /var/www/laravel5/vendor/laravel/tinker/src/Console/TinkerCommand.php:54
 Laravel\Tinker\Console\TinkerCommand->handle() at n/a:n/a
 call_user_func_array() at /var/www/laravel5/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:29
 Illuminate\Container\BoundMethod::Illuminate\Container\{closure}() at /var/www/laravel5/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:87
 Illuminate\Container\BoundMethod::callBoundMethod() at /var/www/laravel5/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:31
 Illuminate\Container\BoundMethod::call() at /var/www/laravel5/vendor/laravel/framework/src/Illuminate/Container/Container.php:549
 Illuminate\Container\Container->call() at /var/www/laravel5/vendor/laravel/framework/src/Illuminate/Console/Command.php:183
 Illuminate\Console\Command->execute() at /var/www/laravel5/vendor/symfony/console/Command/Command.php:251
 Symfony\Component\Console\Command\Command->run() at /var/www/laravel5/vendor/laravel/framework/src/Illuminate/Console/Command.php:170
 Illuminate\Console\Command->run() at /var/www/laravel5/vendor/symfony/console/Application.php:946
 Symfony\Component\Console\Application->doRunCommand() at /var/www/laravel5/vendor/symfony/console/Application.php:248
 Symfony\Component\Console\Application->doRun() at /var/www/laravel5/vendor/symfony/console/Application.php:148
 Symfony\Component\Console\Application->run() at /var/www/laravel5/vendor/laravel/framework/src/Illuminate/Console/Application.php:88
 Illuminate\Console\Application->run() at /var/www/laravel5/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:121
 Illuminate\Foundation\Console\Kernel->handle() at /var/www/laravel5/artisan:37

ユーザーが違うっぽい。該当のユーザーにLaravel以下をchownしてみる。

$ chown -R user.user /var/www/laravel5

以前としてtinkerは使えない。
試しにrootで実行してみる。

# php artisan tinker -vvvv

問題なく実行できる。
単純にどっかのパーミッションの問題で777とかにしてあげると実行できそうな雰囲気。
面倒なのでrootでやることにしました。