简体   繁体   English

Joomla 3.1错误JFolder :: create:路径不在open_basedir路径中无法创建目标

[英]Joomla 3.1 error JFolder::create: Path not in open_basedir paths Unable to create destination

I installed this plugin ( http://www.s2software.it/en/download/joomla-image-resize-cache ) and I have this error, this error remains too after creating images/cache folder, on my server are available these: Imagick Shell Execute, JImage (GD) but no one want to work ... 我安装了此插件( http://www.s2software.it/en/download/joomla-image-resize-cache ),但出现此错误,在我的服务器上创建images / cache文件夹后,此错误仍然存​​在,这些:Imagick Shell Execute,JImage(GD),但没人愿意工作...

And in System Information every folder, and file is writable, except configuraion.php 并且在系统信息中,每个文件夹和文件都是可写的,但configuraion.php除外

Here is a step by step solution that I have found: and it's working very well: 这是我找到的分步解决方案:效果很好:

  1. Login to Joomla Administartor panel. 登录到Joomla Administartor面板。
  2. Go to Global Configuration 转到全局配置
  3. Click "Server" Tab 单击“服务器”选项卡
  4. Change the path from /public_html/tmp to "tmp" 将路径从/ public_html / tmp更改为“ tmp”
  5. Login to control Panel(CPanel) (or you can use an FTP account to access the Joomla files) 登录到控制面板(CPanel)(或者您可以使用FTP帐户访问Joomla文件)
  6. Open File Manager 打开文件管理器
  7. Open Folder "libraries" 打开文件夹“库”
  8. Open Folder "joomla" 打开文件夹“ joomla”
  9. Open Folder "filesystem" 打开文件夹“文件系统”
  10. Right Click on "folder.php" and click Edit. 右键单击“ folder.php”,然后单击“编辑”。
  11. Look for the line, (search = obd): $obd = ini_get('open_basedir'); 查找行,(搜索= obd): $obd = ini_get('open_basedir'); Comment out that line with // at the beginning so it becomes: //$obd = ini_get('open_basedir'); 在开始处用//注释掉该行,这样它就会变成: //$obd = ini_get('open_basedir');
  12. Save and Close. 保存并关闭。 And you're down. 而且你很沮丧。

Another solution without any Joomla's core file hacking: 无需任何Joomla核心文件黑客攻击的另一种解决方案:

First find the exact absolute path to your tmp folder by using this trick: 首先使用以下技巧找到tmp文件夹的确切绝对路径:

Create a PHP file in your website root,for example path.php 在您的网站根目录中创建一个PHP文件,例如path.php

Place this snippet of code in the file and hit the save button 将此代码段放入文件中,然后单击“保存”按钮

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

Navigate to yourdomain.com/path.php in your browser 在浏览器中导航到yourdomain.com/path.php

From now on: 从现在开始:

  1. Login to your Joomla Administartor panel. 登录到您的Joomla Administartor面板。
  2. Go to Global Configuration 转到全局配置
  3. Click no the "Server" tab 单击无“服务器”选项卡
  4. Change the path to the "Absolute Path(you've just found)"/tmp 将路径更改为"Absolute Path(you've just found)"/tmp
  5. Insert this line of code in your .htaccess file: php_value open_basedir NULL 在您的.htaccess文件中插入以下代码行: php_value open_basedir NULL

I find 2 temporary resolution: 我发现2个临时解决方案:

First: in configuration settings > turn off the display errors 第一:在配置设置中>关闭显示错误

Second: libraries\\joomla\\filesystem\\folder.php > find this: $obd = ini_get('open_basedir'); 第二个:libraries \\ joomla \\ filesystem \\ folder.php>找到它: $obd = ini_get('open_basedir');

and put in comments like: //$obd = ini_get('open_basedir'); 并添加如下注释: //$obd = ini_get('open_basedir');

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM