Я получаю следующую ошибку, когда пытаюсь установить компонент, модуль или плагин.
JFolder::create: Could not create directory
В чем может быть проблема?
Я получаю следующую ошибку, когда пытаюсь установить компонент, модуль или плагин.
JFolder::create: Could not create directory
В чем может быть проблема?
Измените приведенную ниже переменную в файле конфигурации (configuration.php
), как показано ниже.
public $log_path = '/logs';
public $tmp_path = '/tmp';
Также убедитесь, что эта папка имеет разрешение 755.
Теперь я нашел два решения для решения этой проблемы, и оба они работали очень хорошо:
Решение первое:
Сначала найдите точный абсолютный путь к вашей папке tmp
, используя этот прием:
Создайте файл PHP в корне вашего сайта, например path.php
Поместите этот фрагмент кода в файл и нажмите кнопку «Сохранить».
<?php
$path = getcwd();
echo "Your Absolute Path is: ";
echo $path;
?>
Перейдите к yourdomain.com/path.php
в браузере
Впредь:
"Absolute Path(you've just found)"/tmp
Вставьте эту строку кода в ваш файл .htaccess: php_value open_basedir NULL
Это решение очень хорошо сработало для меня, и оно не имеет отношения к взлому основных файлов Joomla.
Решение второе:
/public_html/tmp
на просто tmp
$obd = ini_get('open_basedir');
Закомментируйте эту строку // в начале, чтобы она стала следующей: //$obd = ini_get('open_basedir');
Вы можете изменить владельца папок 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 .
После многих проблем с этой ошибкой я получил прорыв. В файле configuration.php отредактируйте значения var logpath n tmppath, как показано ниже var $log_path = '/home/public_html/sitename/logs';
var $tmp_path = '/home/public_html/sitename/tmp';
Это определенно сработает. И работает на меня.