$command = "mysqldump -uroot gallery > bckp.sql";
if(system($command)) echo "OK";
else echo "Not OK";
В чем тут может быть ошибка? Какую-нибудь отладочную информацию из system() вытащить можно?
Спустя 3 часа, 46 минут, 38 секунд (9.01.2010 - 06:41) VolCh написал(а):
Попробуй $command = "mysqldump -uroot gallery > bckp.sql 2> bckp.log";
P.S. А root без пароля?
P.S. А root без пароля?
Спустя 5 часов, 20 минут, 57 секунд (9.01.2010 - 12:01) toilet_patrol написал(а):
Root без пароля (это сервер на моем компьютере, зачем там пароль). В полученном логе на клингонском языке было написано (ниже приведена расшифровка):
Цитата |
"mysqldump" е является вутреей или вешей ком дой, исполяемой прогр ммой или п кетым ф йлом. |
Несколько неожиданно . Я не видел никакого иного способа вызова mysqldump через функцию system(). Есть идеи?
Спустя 2 минуты, 20 секунд (9.01.2010 - 12:04) VolCh написал(а):
путь укажи или в PATH внеси
Спустя 13 минут, 4 секунды (9.01.2010 - 12:17) toilet_patrol написал(а):
что значит внести в PATH? (то есть само действие я понимаю, но не знаю, что подразумевается под PATH)
Спустя 5 минут, 23 секунды (9.01.2010 - 12:22) VolCh написал(а):
PATH - пути, которые просматривает ОС, если путь к исполняемому файлу не задан явно и такого файла нет в текущем каталоге.
В консоли набери сначала PATH, а потом что-то вроде PATH "C:\Program Files\MySQL\";%PATH%
В консоли набери сначала PATH, а потом что-то вроде PATH "C:\Program Files\MySQL\";%PATH%
Спустя 6 минут, 13 секунд (9.01.2010 - 12:28) toilet_patrol написал(а):
То есть обязательно указывать полный путь? Мне кажется, это костыль...
Спустя 34 минуты, 4 секунды (9.01.2010 - 13:03) VolCh написал(а):
Или полный путь, или менять каталог, или настраивать ОС (через PATH). Хотя, может быть, можно получить путь к бинарникам мускула через окружение и/или переменные самого мускула.
Спустя 9 часов, 42 минуты, 28 секунд (9.01.2010 - 22:45) kirik написал(а):
Или сделать так (для *nix серверов):
$(whereis -b mysqldump | awk '{ print $2 }') -uroot gallery > bckp.sql
Спустя 1 час, 6 минут, 8 секунд (9.01.2010 - 23:51) toilet_patrol написал(а):
Не работает. Даже лог не записывается (если добавить 2> bckp.log в конец строки). Какую-то обратную связь получить можно от функции system()?
Получил результат, когда ввел абсолютный путь к утилите mysqldump (d:/.../mysqldump.exe). Но это же неправильно, даже не представляю как использовать такой скрипт на настоящем сервере.
Есть ли способ как-то найти относительный путь к утилите?
Получил результат, когда ввел абсолютный путь к утилите mysqldump (d:/.../mysqldump.exe). Но это же неправильно, даже не представляю как использовать такой скрипт на настоящем сервере.
Есть ли способ как-то найти относительный путь к утилите?
Спустя 3 часа, 30 минут, 4 секунды (10.01.2010 - 03:21) VolCh написал(а):
toilet_patrol Ну почему неправильно? В том же PHP в настройках указывается путь к sendmail
Спустя 2 минуты, 47 секунд (10.01.2010 - 03:24) kirik написал(а):
Цитата (toilet_patrol @ 9.01.2010 - 15:51) |
Есть ли способ как-то найти относительный путь к утилите? |
Зачем относительный? И чем не подходит вариант с whereis?
Спустя 3 минуты, 42 секунды (10.01.2010 - 03:28) VolCh написал(а):
kirik
судя по путям там винда
судя по путям там винда
Спустя 7 минут (10.01.2010 - 03:35) toilet_patrol написал(а):
Lа, винда. whereis, видимо, это их *nix среды комманда?)
VolCh, ну как зачем? А как же я на сервере провайдера укажу путь к mysqldump?
VolCh, ну как зачем? А как же я на сервере провайдера укажу путь к mysqldump?
Спустя 4 часа, 27 минут, 53 секунды (10.01.2010 - 08:03) VolCh написал(а):
toilet_patrol
Цитата (kirik @ 9.01.2010 - 22:45) |
Или сделать так (для *nix серверов): $(whereis -b mysqldump | awk '{ print $2 }') -uroot gallery > bckp.sql |
И что значит как? заменишь свое "C:\\...." на православное "/usr/bin/" Можно в конфиге приложения сделать константу/переменную. И, кстати, если речь про обычный шаред хостинг, то очень часто на них system и прочее вообще запрещены.
Спустя 1 час, 41 минута, 13 секунд (10.01.2010 - 09:44) kirik написал(а):
Цитата (VolCh @ 9.01.2010 - 19:28) |
судя по путям там винда |
Там что-то писали про "настоящий сервер", вот эт для него
Спустя 1 час, 16 минут, 26 секунд (10.01.2010 - 11:00) toilet_patrol написал(а):
Хорошо, спасибо.