【问题标题】:How to fix open_basedir restriction error in shared server?如何修复共享服务器中的 open_basedir 限制错误?
【发布时间】:2019-05-09 13:09:18
【问题描述】:

我正在设置 laravel-snappy 来创建 pdf。

我的 snappy 配置如下

<?php
return array(
'pdf' => array(
        'enabled' => true,
        'binary' => base_path('vendor/h4cc/wkhtmltopdf/bin/wkhtmltopdf'),
...

通过在 tinker 中运行 config('snappy'),我还获得了 laravel 项目文件夹中所需的确切路径

但我收到以下错误

local.ERROR: is_dir(): open_basedir 限制生效。文件(/tmp)不在允许的路径中:

如何在不更改 php 设置的情况下解决此问题?

【问题讨论】:

  • 二进制文件试图在未经许可的情况下写入/tmp目录。
  • 那么,如何在 laravel 中设置 tmp 路径?

标签: php laravel open-basedir knp-snappy


【解决方案1】:

似乎该包试图写入/tmp 文件夹,但受到PHPs ini 选项open_basedir 的限制。

您可以使用setTemporaryFolder() 方法将此文件夹路径更改为应用程序中的某个内容,例如storage/tmp

$pdf = App::make('snappy.pdf.wrapper');
$pdf->setTemporaryFolder(storage_path('tmp'));
// ...

【讨论】:

    猜你喜欢
    • 2011-01-27
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多