7

当我尝试安装组件、模块或插件时,出现以下错误。

JFolder::create: Could not create directory

可能是什么问题?

4

4 回答 4

25

configuration.php如图所示,在您的配置文件 () 中更改以下变量。

public $log_path = '/logs';
public $tmp_path = '/tmp';

还要确保这些文件夹具有文件夹权限 755。

阅读更多

于 2013-04-04T04:16:36.553 回答
4

现在我找到了两个解决这个问题的解决方案,并且它们都运行得很好:

解决方案一:

tmp首先使用这个技巧找到你的文件夹的确切绝对路径:

例如,在您的网站根目录中创建一个 PHP 文件path.php

将此代码段放入文件中并点击保存按钮

<?php
$path = getcwd();
echo "Your Absolute Path is: ";
echo $path;
?>

yourdomain.com/path.php在浏览器中导航到

今后:

  1. 登录到您的 Joomla 管理员面板。
  2. 转到全局配置
  3. 单击“服务器”选项卡
  4. 将路径更改为"Absolute Path(you've just found)"/tmp
  5. 在您的 .htaccess 文件中插入这行代码:php_value open_basedir NULL

    这个解决方案对我来说效果很好,它不处理任何 Joomla 的核心文件黑客攻击。

解决方案二:

  1. 登录到您的 Joomla 管理员面板。
  2. 转到全局配置
  3. 单击“服务器”选项卡
  4. 将路径从更改/public_html/tmp为刚刚tmp
  5. 登录控制面板(CPanel),(或者您可以为此使用FTP帐户)
  6. 打开文件管理器(如果您使用的是 FTP,此步骤必须跳过)
  7. 打开文件夹“库”
  8. 打开文件夹“joomla”
  9. 打开文件夹“文件系统”
  10. 右键单击“folder.php”,然后单击“编辑”。
  11. 寻找这一行,(search = obd): $obd = ini_get('open_basedir');用 // 开头的那一行注释掉,这样它就变成了://$obd = ini_get('open_basedir');
  12. 保存并关闭。
于 2014-09-27T03:22:31.357 回答
1

您可以将 Joomla 文件夹的所有者更改为您的 apache 服务器用户。

您可以使用以下命令找到 apache 服务器用户:

ps aux | grep -v root | grep apache | cut -d\  -f1 | sort | uniq

来源:https ://serverfault.com/questions/125865/finding-out-what-user-apache-is-running-as

对于 Ubuntu,它是www-data.

知道 apache 用户名后,您可以更改 Joomla 安装的所有文件夹和文件的所有者。您可以使用以下命令执行此操作:

(我想你的 apache 用户是www-data

sudo chown -R www-data:www-data /path/to/your/joomla

如果您已经在 J​​oomla 目录中,则可以运行以下命令:

sudo chown -R www-data:www-data .
于 2016-06-10T12:06:43.980 回答
0

经过这个错误的很多麻烦后,我得到了突破。在 configuration.php 文件中,编辑 var logpath n tmppath 值如下var $log_path = '/home/public_html/sitename/logs'; var $tmp_path = '/home/public_html/sitename/tmp';

这肯定会奏效。并为我工作。

于 2015-03-05T06:29:02.040 回答