Laravel版本5.0.33
> php artisan tinker
[ErrorException]
mkdir(): Permission denied 这是在一台生产服务器上,我试图以tinker作为web用户来测试一个命令。这个用户拥有基本路径中的每个目录,所以我不确定在运行artisan tinker时会尝试创建哪个目录。
发布于 2017-01-12 07:24:34
使用非常详细的-vvv,我能够获得堆栈跟踪。
Exception trace:
() at /data1/vhosts/website.com/vendor/psy/psysh/src/Psy/Configuration.php:459
Illuminate\Foundation\Bootstrap\HandleExceptions->handleError() at n/a:n/a
mkdir() at /data1/vhosts/website.com/vendor/psy/psysh/src/Psy/Configuration.php:459
Psy\Configuration->getHistoryFile() at /data1/vhosts/website.com/vendor/psy/psysh/src/Psy/Configuration.php:598getHistoryFile()尝试在用户主目录而不是应用程序目录中创建文件。此用户的home设置为/var/www/html,但它对该文件夹没有执行权限。
发布于 2018-04-16 22:10:37
将.psysh.php放在具有以下内容的Laravel项目的根目录中
<?php
return [
'runtimeDir' => './.psysh',
];更多信息https://github.com/laravel/tinker/issues/34#issuecomment-357550126
发布于 2018-09-05 12:49:05
出现此错误的原因是您切换用户(使用su进行猜测)时没有使用“破折号”选项。
用su - www-data替换su www-data,一切都会正常工作!
或
su -用户名
其中,username具有ssh登录权限
用户名前的破折号很重要
参考:here
https://stackoverflow.com/questions/41601260
复制相似问题