file_put_contents(): open_basedir 限制生效。文件(/tmp/XXX)不在允许的路径内:(/XXX)Ubuntu16.04

file_put_contents(): open_basedir restriction in effect. File(/tmp/XXX) is not within the allowed path(s): (/XXX) Ubuntu16.04

问题是当我将我的 Laravel 应用程序放在服务器上并安装 PDF 插件时出现这种类型的错误...

file_put_contents(): open_basedir restriction in effect. File(/tmp/XXXX) is not within the allowed path(s): (/home/admin/XXX)

所以这里的问题是,网上有太多错误的解决方案,说我们需要更改 .htaccesshttpd.conf(一个不存在的文件 LOL)

或者我发现的其他一些解决方案是在 apache 配置文件中放置类似的内容:

<DirectoryMatch "/home/admin/web/XXX">
    php_admin_value open_basedir "/home/admin/web/XXXX"
</DirectoryMatch>

但是还是不行...

显然我试图更改 php.ini 文件上的 open_basedir... 但什么都没有!!

那么正确答案是什么? (对我来说:P)

答案

我无意中找到了答案...只是因为我花了 10 多个小时来解决这个问题,所以我正在编写该解决方案...

我们需要在 php.ini 上更改的变量不是 open_basedir

但是:sys_temp_dir =“/home/admin/XXX”

我们也可以留下 open_basedir 作为评论...

惊喜!!! :D