0

以前の Stackoverflow の投稿で、非常に単純で mysqldump コマンドを実行するコードを見つけました。このコマンドをシェルで root として問題なく実行できます。しかし、PHP を使用すると、バックアップ ファイルが作成されません。

<?php
$backupFile = "/var/www/html/mysql-bak/my_dbname-".date("Y-m-d-H-i-s").".sql";
$command = "mysqldump --opt -u root -pmypassword my_dbname > $backupFile";
system($command);
?>

Apache サービスがファイルを書き込もうとすると、パーミッションの問題に違いありませんよね? ディレクトリ /var/www/html/mysql-bak/ を作成し、chgrp と chown を実行して、所有ユーザー「mysql」と所有グループ「mysql」を作成しました。必死になって、ユーザー「apache」をグループ「mysql」のメンバーとして追加しましたが、それでも修正されませんでした。

4

1 に答える 1

0

実際、そのディレクトリの所有者として「apache」をchownするだけで修正できました。

于 2013-01-17T20:07:07.487 に答える