Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Menjalankan mysqldump dari skrip PHP tidak berfungsi tetapi berfungsi di SSH

Tebakan yang cerdas

Jika saya dapat menebaknya, itu karena pengguna yang menjalankan skrip php (mis. pengguna yang menjalankan httpd as) tidak memiliki izin untuk menulis ke /var/www/vhosts/mydomain.com/httpdocs/tools/ .

Meskipun pengguna yang Anda gunakan untuk menjalankan perintah memiliki.

STDERR dan STDOUT

Untuk melihat apakah ada sesuatu yang dicetak ke STDERR yang relevan dengan masalah, gunakan cuplikan di bawah ini!

$tubes = array(
  0 => array("pipe", "r"),
  // print contents on STDOUT to file
  1 => array("file", "/var/www/vhosts/mydomain.com/httpdocs/tools/dbbackup-2011-12-17.sql", "w"),
  2 => array("pipe", "w")
);

$p_handle = proc_open (
  "/usr/bin/mysqldump --opt --host=localhost --user=\"myuser\" --password=\"mypass\" db_name",
  $tubes, $pipes
);

if (is_resource ($p_handle)) {
    fclose ($pipes[0]);

    $stderr_data = stream_get_contents ($pipes[2]); fclose($pipes[2]);

    $proc_ret    = proc_close ($p_handle);

    echo "--------- STDERR:\n$stderr_data\n";
    echo "------------ RET: $proc_ret\n";
} else {
  die ("Unable to execute external resource, aborting!");
}

Periksa file log!

Sudahkah Anda memeriksa error_log terkait dengan httpd . Anda ?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sekuel pembaruan dengan asosiasi

  2. Bagaimana cara memeriksa apakah entri mysql kosong di PhP?

  3. Bisakah MySQL memeriksa file itu ada?

  4. Tidak Dapat Menginstal / Menggunakan MySQL di Akun Gratis Amazon Cloud9

  5. PILIH id MEMILIKI jumlah maksimum id