php - Laravel - "artisan tinker"-> mkdir() : Permission denied

标签 php laravel permissions laravel-artisan tinker

我现在已经搜索了几个小时,但即使有类似的问题也找不到解决方案。

我正在尝试运行 php artisan tinker在与用户 webmaster 的全新 laravel 安装上(谁是项目目录的所有者 demo )但我收到以下错误:

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

使用详细标志运行:

Exception trace: 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() at /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 Illuminate\Container\Container->call() at /media/usb/drive1/websites/demo/vendor/laravel/framework/src/Illuminate/Console/Command.php:183 Illuminate\Console\Command->execute() at /media/usb/drive1/websites/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/demo/vendor/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/websites/demo/vendor/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(最新)
  • DocumentRoot :/var/www/websites -> /media/usb/drive1/websites/
  • Apache 用户 :www-data (在项目目录中有权限)

  • 类似的报告问题
  • https://github.com/laravel/tinker/issues/34
  • artisan tinker: mkdir() permission denied
  • 最佳答案

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

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

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

    <?php
    return [
        'runtimeDir' => './.psysh',
    ];
    

    关于php - Laravel - "artisan tinker"-> mkdir() : Permission denied,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48303243/

    相关文章:

    php - 无法使用 php 创建新文件 (newfile.txt)

    php - 路由 [登录名] 未定义

    javascript - .deny Meteor 使用..无法让它工作

    java - Android 应用程序崩溃 ActivityManager 权限在 Eclipse 上被拒绝

    php - 仅具有一个标题的按月输出

    php - 使用 INSERT ON DUPLICATE UPDATE 查询 2 个表

    php - Silex:在防火墙外的路由上获取经过身份验证的用户信息

    javascript - Gulp 脚本与 jquery 不起作用

    laravel - 如何在 vuejs 和 vuex 中设置带有 httponly 标志的 cookie,cookie 来自服务器(Laravel)

    sql-server - SQL Server 列级安全性 - 是否可以在列上拒绝 SELECT,但是,它是否可用于该表的 WHERE 子句?