5

我一直在寻找几个小时,但即使有类似的问题也找不到解决方案。

我正在尝试使用用户(项目目录的所有者)php artisan tinker在全新的 laravel 安装上运行,但出现以下错误:webmasterdemo

In Configuration.php line 352:
mkdir(): Permission denied

使用详细标志运行:

异常跟踪:Illuminate\Foundation\Bootstrap\HandleExceptions->handleError() at n/a:n/a mkdir() at /media/usb/drive1/websites/demo/vendor/psy/psysh/src/Psy/Configuration。 php:352 Psy\Configuration->getRuntimeDir() at /media/usb/drive1/websites/demo/vendor/psy/psysh/src/Psy/Shell.php:185 Psy\Shell->getDefaultCommands() at /media/ usb/drive1/websites/demo/vendor/symfony/console/Application.php:1211 Symfony\Component\Console\Application->init() at /media/usb/drive1/websites/demo/vendor/symfony/console/Application .php:435 Symfony\Component\Console\Application->add() at /media/usb/drive1/websites/demo/vendor/psy/psysh/src/Psy/Shell.php:134 Psy\Shell->add( ) 在 /media/usb/drive1/websites/demo/vendor/symfony/console/Application.php:421 Symfony\Component\Console\Application->addCommands() at /media/usb/drive1/websites/demo/vendor/laravel/tinker/src/Console/TinkerCommand.php:54 Laravel\Tinker\Console\TinkerCommand->handle() at n/a:n/a call_user_func_array() at /media/usb/drive1/websites/demo/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:29 Illuminate\Container\BoundMethod::Illuminate\Container{closure}() at /media /usb/drive1/websites/demo/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:87 Illuminate\Container\BoundMethod::callBoundMethod() at /media/usb/drive1/websites/demo/vendor/ laravel/framework/src/Illuminate/Container/BoundMethod.php:31 Illuminate\Container\BoundMethod::call() at /media/usb/drive1/websites/demo/vendor/laravel/framework/src/Illuminate/Container/Container .php:549 照亮\容器\容器->call() 在 /media/usb/drive1/websites/demo/vendor/laravel/framework/src/Illuminate/Console/Command.php:183 Illuminate\Console\Command->execute() 在 /media/usb/drive1/网站/demo/vendor/symfony/console/Command/Command.php:252 Symfony\Component\Console\Command\Command->run() at /media/usb/drive1/websites/demo/vendor/laravel/framework/src /Illuminate/Console/Command.php:170 Illuminate\Console\Command->run() at /media/usb/drive1/websites/demo/vendor/symfony/console/Application.php:938 Symfony\Component\Console\Application ->doRunCommand() at /media/usb/drive1/websites/demo/vendor/symfony/console/Application.php:240 Symfony\Component\Console\Application->doRun() at /media/usb/drive1/websites/演示/供应商/symfony/console/Application.php:148 Symfony\Component\Console\Application->run() at /media/usb/drive1/websites/demo/vendor/laravel/framework/src/Illuminate/Console/Application.php:88 Illuminate\Console\Application->run() at /media/usb/drive1/网站/演示/供应商/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:121 Illuminate\Foundation\Console\Kernel->handle() at /media/usb/drive1/websites/demo/artisan:37

希望有人对我有提示。谢谢!

相关信息

  • 发行版:Raspbian GNU/Linux 8 (jessie)
  • 网络服务器:Apache/2.4.25
  • Laravel 版本:5.5(最新)
  • 文档根/var/www/websites -> /media/usb/drive1/websites/
  • Apache用户:(www-data在项目目录中具有权限)

类似报告的问题

4

1 回答 1

9

我问这个问题已经一年了。我只是忽略了缺乏使用修补程序并继续。但是今天我终于找到了一个解决方案,并认为它可能是一个好主意分享。

共享服务器环境可能会导致此错误。$this->runtimeDir从文件中转储第 352 行的变量vendor/psy/psysh/src/Configuration.php告诉我缺少在 中创建文件夹的权限,uid在/run/user/1000/psysh哪里。1000

一种解决方法是告诉 psysh 使用操作用户具有写入权限的目录。这可以通过runtimeDir配置选项来完成。您需要做的就是在Laravel 的项目根目录中~/.config/psysh/config.php或本地创建一个配置文件。.psysh.php添加以下内容,您就可以开始了。

<?php
return [
    'runtimeDir' => './.psysh',
];
于 2019-01-10T13:33:06.297 回答