コンポーネント、モジュール、またはプラグインをインストールしようとすると、以下のエラーが発生します。
JFolder::create: Could not create directory
問題は何ですか?
コンポーネント、モジュール、またはプラグインをインストールしようとすると、以下のエラーが発生します。
JFolder::create: Could not create directory
問題は何ですか?
以下の変数を構成ファイル ( configuration.php
) で次のように変更します。
public $log_path = '/logs';
public $tmp_path = '/tmp';
また、これらのフォルダにフォルダ権限 755 があることを確認してください。
この問題を解決するための 2 つの解決策を見つけましたが、どちらも非常にうまく機能しています。
解決策 1:
tmp
まず、次のトリックを使用して、フォルダーへの正確な絶対パスを見つけます。
たとえば、Web サイトのルートに 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 のコア ファイルのハッキングには対応していません。
解決策 2:
/public_html/tmp
から just に変更します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';
これは間違いなく機能します。そして私のために働きます。