1

更新:ようやくこの機能が動作するようになりましたが、問題の原因はまだわかりません。ネットワーク フォルダー経由でアクセスする wamp サーバーを使用しています。

まだ存在する問題は、mysqldump を実行するには、WAMP サーバーをホストするために使用されている実際のマシンから php ファイルにアクセスする必要があることです。

アップデートの終了

wamp サーバーを実行していて、mysqldump を使用して、所有している mysql データベースをバックアップしようとしています。以下は、mysqldump を実行するために使用している PHP コードです。

exec("mysqldump バックアップ -u$user -p$pass > $sql_file");

スクリプトを実行すると、ページが勝手に読み込まれ、バックアップが作成されません。

空のファイルが作成されているので、何かが起こっていることがわかります。

追加情報:

* exec() is not disabled
* PHP is not running in safe mode

何か案は??

Win XP、WAMP、MYSQL 5.0.51b

4

5 に答える 5

1

mysqldump は、php がシステムで実行される最大時間を超える可能性があります。cmd でコマンドを使用するか、 php.ini で max_execution_time を増やしてみてください。

于 2009-10-21T14:09:31.733 に答える
1

$passが定義されていて、先頭にスペース文字がありませんか?

そうでない場合mysqldumpは、パスワードのコマンド ライン入力を待機します。

于 2010-07-17T20:32:23.037 に答える
0

mysqldump からの stderr 出力を確認すると役立つ場合があります。

$cmd = "mysqldump backup -u$user -p$pass 2>&1 > $sql_file";
exec($cmd, $output, $return);
if ($return != 0) { //0 is ok
    die('Error: ' . implode("\r\n", $output));
}   

また、またはユーザーが提供する場合は、 escapeshellarg()を使用する必要があります。$user$pass

于 2009-10-21T14:15:42.100 に答える
0

私も少し前に同じことがありました。同僚が MySQL GUI ツールを教えてくれたので、それを使ってバックアップを作成しています。付属の Query Browser も優れています。

MySQL GUI ツール

于 2009-10-21T14:11:01.530 に答える
0

また、mysqldump ユーティリティの使用にも苦労しました。私の経験に基づいて確認/試行することがいくつかあります。

  • サーバーは、プログラムが exec コマンドでプログラムを実行できるように設定されていますか? (私のウェブホストのサーバーでは許可されません。) 別のコマンドでテストします。

  • mysqldump ユーティリティはインストールされていますか? で確認してくださいwhereis mysqldump

  • 最適化引数を追加してみてください--opt

于 2009-10-21T20:54:20.870 に答える