exec() 関数を使用して mysqldump ファイルを実行し、バックアップ ファイルを特定のフォルダーに保存しようとしていますが、そのフォルダーに表示されません。コードの何が問題なのかについてのアイデアはありますか?
exec('/usr/bin/mysqldump -h hostname -u root -psomepassword dbname > somepath/file.sql');
ありがとう!
exec() 関数を使用して mysqldump ファイルを実行し、バックアップ ファイルを特定のフォルダーに保存しようとしていますが、そのフォルダーに表示されません。コードの何が問題なのかについてのアイデアはありますか?
exec('/usr/bin/mysqldump -h hostname -u root -psomepassword dbname > somepath/file.sql');
ありがとう!
サーバーでルートアクセス権がある場合は、次のことを試してください。
sudo su www-data // Ubuntu, for other systems find out the user on which apache is running
/usr/bin/mysqldump -h hostname -u root -psomepassword dbname > somepath/file.sql
それが機能する場合、問題はphpにあります。そうでない場合は、エラー メッセージから問題がわかりました。しかし、すでに指摘したように、crontab はこれに対するより優れたソリューションです。