[英]Laravel: mkdir(): Permission denied
我将我的网站部署到 apache 网络服务器并尝试让修补程序工作。
我有一个问题,我不能在 Laravel 中与我的用户(clashfinder)一起使用修补程序,使用命令php artisan tinker
。 我收到此错误消息:
ErrorException : mkdir(): Permission denied
at /var/www/html/clash/vendor/psy/psysh/src/Configuration.php:363
359| $this->runtimeDir = ConfigPaths::getRuntimeDir();
360| }
361|
362| if (!\is_dir($this->runtimeDir)) {
> 363| \mkdir($this->runtimeDir, 0700, true);
364| }
365|
366| return $this->runtimeDir;
367| }
Exception trace:
1 mkdir("/run/user/0/psysh")
/var/www/html/clash/vendor/psy/psysh/src/Configuration.php:363
2 Psy\Configuration::getRuntimeDir()
/var/www/html/clash/vendor/psy/psysh/src/Shell.php:198
只要我使用sudo执行命令,它就可以工作。
我在 /var/www/html/clash/ 中的文件权限如下所示:
-rw-rw-r-- 1 clashfinder www-data 220 Aug 13 00:46 .editorconfig
-rw-rw-r-- 1 clashfinder www-data 861 Aug 13 00:49 .env
-rw-rw-r-- 1 clashfinder www-data 726 Aug 13 00:46 .env.example
-rw-rw-r-- 1 clashfinder www-data 111 Aug 13 00:46 .gitattributes
-rw-rw-r-- 1 clashfinder www-data 163 Aug 13 00:46 .gitignore
-rw-rw-r-- 1 clashfinder www-data 174 Aug 13 00:46 .styleci.yml
-rw-rw-r-- 1 clashfinder www-data 29006 Aug 13 00:46 CHANGELOG.md
-rw-rw-r-- 1 clashfinder www-data 4455 Aug 13 00:46 README.md
drwxrwxr-x 8 clashfinder www-data 4096 Aug 13 00:46 app/
-rw-rw-r-- 1 clashfinder www-data 1686 Aug 13 00:46 artisan
drwxrwxr-x 3 clashfinder www-data 4096 Aug 13 00:46 bootstrap/
-rw-rw-r-- 1 clashfinder www-data 1645 Aug 13 00:46 composer.json
-rw-rw-r-- 1 clashfinder www-data 197091 Aug 13 00:46 composer.lock
drwxrwxr-x 2 clashfinder www-data 4096 Aug 13 00:46 config/
drwxrwxr-x 5 clashfinder www-data 4096 Aug 13 00:46 database/
drwxrwxr-x 731 clashfinder www-data 24576 Aug 13 00:46 node_modules/
-rw-rw-r-- 1 clashfinder www-data 411923 Aug 13 00:46 package-lock.json
-rw-rw-r-- 1 clashfinder www-data 1462 Aug 13 00:46 package.json
-rw-rw-r-- 1 clashfinder www-data 1297 Aug 13 00:46 phpunit.xml
-rw-rw-r-- 1 clashfinder www-data 655 Aug 13 00:46 prod2.json
-rw-rw-r-- 1 clashfinder www-data 21 Aug 13 00:46 prod2.lock
drwxrwxr-x 4 clashfinder www-data 4096 Aug 13 00:46 public/
drwxrwxr-x 6 clashfinder www-data 4096 Aug 13 00:46 resources/
drwxrwxr-x 2 clashfinder www-data 4096 Aug 13 00:46 routes/
-rw-rw-r-- 1 clashfinder www-data 563 Aug 13 00:46 server.php
-rw-rw-r-- 1 clashfinder www-data 68 Aug 13 00:46 socket.sh
drwxrwxr-x 5 clashfinder www-data 4096 Aug 13 00:46 storage/
drwxrwxr-x 4 clashfinder www-data 4096 Aug 13 00:46 tests/
drwxrwxr-x 45 clashfinder www-data 4096 Aug 13 00:46 vendor/
-rw-rw-r-- 1 clashfinder www-data 537 Aug 13 00:46 webpack.mix.js
权限对我来说是正确的。 有人可以告诉我为什么它不适用于我的用户吗?
我认为您需要在 Laravel 的项目根目录中创建.psysh.php
文件。
然后添加:
<?php
return [
'runtimeDir' => './.psysh',
];
这是一个老问题,这里是github 修补程序问题的解决方法
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.