Joomla tmp 文件夹不可写?或open_basedir麻烦


Joomla tmp folder not writable? or open_basedir troubles?

我正在这个Joomla网站上工作,我无法上传任何扩展名。 如果我使用正常的上传方法,我会得到JFolder::create: Could not create directory Unable to create destination 如果我使用从目录上传,我会得到Copy failed JInstaller: :Install: Failed to copy file我已经尝试了在Joomla支持论坛中找到的许多解决方案,但没有一个对我有用。无奈之下,我什至将 TMP 指令更改为 777,现在目录权限(我知道它不好) 列表显示 TMP 是可写的,但在扩展管理器中显示警告The PHP temporary directory is not writeable by the Joomla! instance, which may cause issues when attempting to upload extensions to Joomla!. If you are having issues uploading extensions, check the '/tmp' and set it to be writeable and see if this fixes the issue.>警告

我想知道open_basedir是否叛逃。在我的 php 信息文件中,我有 /srv/www/vhosts/domain/httpdocs/:/tmp/ - no value .我如何知道open_basedir有缺陷?我该如何解决这个扩展问题?

问题可能是因为 php 中没有设置upload_tmp_dir。

查看SITE > SYSTEM INFORMATION > PHP INFORMATION并检查是否已设置upload_tmp_dir。如果没有,你需要编辑 php.ini

在我们的服务器(使用开放式目录)上,设置为:

upload_tmp_dir=/tmp

此值可能因您而异,具体取决于您的服务器配置。

  1. 将权限设置为 777

  2. 对日志和 TMP 使用完整路径,例如: /var/www/vhosts/mydomain/httpdocs/tmp

在 Joomla 后端,转到:

站点>>系统信息>>目录权限

并查看"tmp"文件夹是否显示"可写"

我的一个共享主机遇到了同样的问题。问题是,即使我实际上将所有内容都设置为 777(纯粹出于测试目的),我也没有文件所有权。如果您也是这种情况,那么您将不得不与您的托管服务提供商交谈。