首页 > 解决方案 > Symfony 4 内置服务器 - '警告:mkdir():权限被拒绝'

问题描述

我正在使用KnpSnappyBundle并尝试创建 PDF 我收到 500 错误Warning: mkdir(): Permission denied

我环顾四周,找到了这个问题的答案,但它们似乎与内置服务器没有特别的关系。我确实认为这是一个文件权限错误,但我不知道如何解决它。

对于上下文,以下是触发错误的代码:

/**
 * @Route("/", name="home")
 */
function mainOverview() {



    return new Response(

        $this->get('knp_snappy.pdf')
             ->generate(
                'http://www.google.fr',
                '/pdf/test.pdf' // **500 error triggers here**
             ),
        200,
        array(
            'Content-Type'          => 'application/pdf',
            'Content-Disposition'   => 'attachment; filename="file.pdf"'
        )
    );

}

编辑1:

澄清这可能是文件权限错误,而不是编码错误。

标签: serversymfony4

解决方案


权限错误是由于进程的所有者symfony服务器没有在根目录/下创建文件夹的权限

$this->get('knp_snappy.pdf') ->generate( ' http://www.google.fr ', '/pdf/test.pdf' //此处触发 500 个错误 )

因此,请将生成 pdf 的目录从“/pdf/test.pdf”更改为您的主目录(~/define/your/path)或您有权创建目标目录的位置,以解决此问题


推荐阅读