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)
所以这里的问题是,网上有太多错误的解决方案,说我们需要更改 .htaccess
或 httpd.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
问题是当我将我的 Laravel 应用程序放在服务器上并安装 PDF 插件时出现这种类型的错误...
file_put_contents(): open_basedir restriction in effect. File(/tmp/XXXX) is not within the allowed path(s): (/home/admin/XXX)
所以这里的问题是,网上有太多错误的解决方案,说我们需要更改 .htaccess
或 httpd.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