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

Laravel部署Windows服务器MPDF临时目录不可写问题求助

解决Laravel+Windows服务器下mPDF临时目录不可写问题
  • 先确认并创建正确目录
    报错里的C:\inetpub\wwwroot\laravel\../temp//mpdf对应实际路径是C:\inetpub\wwwroot\temp\mpdf,先手动创建该目录(包括父目录temp);或者更推荐调整到Laravel项目内的storage目录下(比如storage/temp/mpdf),更符合框架目录规范。

  • 用绝对路径配置temp_dir
    避免相对路径解析出错,直接用Laravel路径辅助函数生成绝对路径,在mPDF配置文件(如config/mpdf.php)中设置:

    'temp_dir' => storage_path('temp/mpdf'),
    

    也可以直接写Windows绝对路径(注意转义反斜杠):

    'temp_dir' => 'C:\\inetpub\\wwwroot\\laravel\\storage\\temp\\mpdf',
    
  • 正确配置IIS权限
    给目标目录添加IIS应用池用户的写入权限:

    1. 右键目标目录 → 属性 → 安全 → 编辑 → 添加
    2. 在“选择用户或组”中输入IIS AppPool\你的应用池名称(比如IIS AppPool\LaravelSite),点击检查名称确认
    3. 给该用户勾选写入、修改、读取和执行权限,保存设置
  • 测试目录可写性
    在任意控制器中添加代码验证:

    $targetDir = storage_path('temp/mpdf');
    // 自动创建层级目录(如果不存在)
    if (!file_exists($targetDir)) {
        mkdir($targetDir, 0777, true);
    }
    // 输出是否可写
    dd(is_writable($targetDir));
    

    返回true说明权限正常,检查mPDF配置是否生效;返回false则重新核对IIS用户的权限设置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 10:15:26