JFolder :: create:无法创建目录 - Joomla

时间:2013-04-04 04:16:37

标签: joomla joomla2.5 joomla-extensions joomla3.0 joomla3.1

当我尝试安装组件,模块或插件时,我最终遇到以下错误。

JFolder::create: Could not create directory

可能是什么问题?

4 个答案:

答案 0 :(得分:24)

如下所示,将以下变量更改为配置文件(configuration.php)。

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

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

Read more

答案 1 :(得分:2)

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

解决方案一:

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

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

将此代码段放在文件中,然后点击“保存”按钮

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

导航至浏览器中的yourdomain.com/path.php

从现在开始:

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

    这个解决方案对我来说非常好用,而且它不涉及任何Joomla的核心文件黑客攻击。

  6. 解决方案二:

    1. 登录您的Joomla Administartor面板。
    2. 转到全局配置
    3. 单击“服务器”选项卡
    4. 将路径从/public_html/tmp更改为tmp
    5. 登录控制面板(CPanel),(或者您可以使用FTP帐户实现此目的)
    6. 打开文件管理器(如果您使用的是FTP,则必须跳过此步骤)
    7. 打开文件夹“libraries”
    8. 打开文件夹“joomla”
    9. 打开文件夹“filesystem”
    10. 右键单击“folder.php”,然后单击“编辑”。
    11. 找行,(search = obd): $obd = ini_get('open_basedir');在//开头注释//行,//$obd = ini_get('open_basedir');
    12. 保存并关闭。

答案 2 :(得分: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

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

sudo chown -R www-data:www-data .

答案 3 :(得分:0)

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

这肯定会起作用。并为我工作。