You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker容器中执行php artisan tinker报错的解决方法

解决Docker容器中Laravel Artisan Tinker的写入权限错误

在Docker容器的工作目录/var/www下执行命令php artisan tinker时,出现如下错误:

Writing to directory /.config/psysh is not allowed.
at vendor/psy/psysh/src/ConfigPaths.php:331
327▕             @\mkdir($dir, 0700, true);
328▕         
329▕         if (!\is_dir($dir) || !\is_writable($dir)) {
➜ 331▕             \trigger_error(\sprintf('Writing to directory %s is not allowed.', $dir), \E_USER_NOTICE);
332▕ 
333▕             return false;
334▕         }

问题原因

Tinker依赖的psysh包会尝试写入默认配置路径~/.config/psysh,但在Docker容器内默认HOME目录为根目录/,导致psysh试图写入/.config/psysh——该目录不存在且普通用户无写入权限。

解决方案

在docker-compose.yml的app服务中添加HOME环境变量,将其指向容器内的工作目录/var/www:

services:
  app:
    environment:
      - HOME=/var/www

添加完成后,重新启动容器并执行php artisan tinker即可正常运行。

内容的提问来源于stack exchange,提问作者Eugenio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 00:15:10