mysqldump ve wamp

5 Cevap php

Update: Sonunda bu şey çalışma var ama sorunun ne olduğunu hala emin değilim. Ben bir ağ klasörü üzerinden erişmek bir wamp sunucusu kullanıyorum.

Hala var sorun ben WAMP sunucu barındırmak için kullanılan gerçek makineden php dosyaya erişmek zorunda mysqldump yürütmek olmasıdır.

End of update

Ben bir wamp sunucu çalışan ve yedekleme için ben bir mysql veritabanı mysqldump kullanmaya çalışıyorum. Aşağıdaki Ben mysqldump çalıştırmak için kullanıyorum PHP kodudur.

exec ("mysqldump yedekleme-u $ user-p $ geçişli> $ sql_file");

Ben komut dosyasını çalıştırdığınızda sayfa sadece inifnately yükler ve yedek oluşturulmaz.

Boş bir dosya o yüzden bir şey oluyor biliyor yaratılıyor.

Ekstra bilgi:

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

Herhangi bir fikir?

Win XP, WAMP MYSQL 5.0.51b

5 Cevap

mysqldump maksimal zaman php sisteminizde çalıştırmak gerekiyordu aşması muhtemeldir. Cmd komutunu kullanarak deneyin veya php.ini max_execution_time artar.

Ben aynı şey bir süre önce ne vardı. Bir meslektaş MySQL GUI araçları beni işaret etti ve ben o ile yedekleme yapmak olmuştur. Onunla birlikte Query Browser, çok güzel.

MySQL GUI tools

Bu mysqldump gelen stderr çıktıya bakmak yardımcı olabilir:

$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));
}

Ayrıca kullanmak escapeshellarg() if $user veya $pass, kullanıcı tarafından sağlanan vardır. Gerekir

Ben de mysqldump yardımcı programını kullanarak mücadele ettik. Ben birkaç şey kontrol etmek için / benim deneyime dayalı deneyin:

  • Sunucu programları exec komutu ile programları çalıştırmak için izin verecek şekilde ayarlanmış mı? (Benim host sunucu bana izin vermez.) Testi farklı komutu ile.

  • Mysqldump programı yüklü mü? whereis mysqldump ile kontrol edin.

  • Optimize argüman eklemeyi deneyin --opt

Eğer $pass tanımlanır ve başında bir boşluk karakteri olmadığından emin misin?

Eğer o olmasaydı, mysqldump şifre komut satırı girişi için bekliyor olacaktır.