Я нашел классный сценарий резервного копирования MySQL. Он отлично работает на некоторых хостинговых компаниях. Теперь я пытаюсь использовать его на другом хосте под управлением PHP версии 5.2.8.
У меня есть файл php.ini, который содержит это (как в корневом каталоге, так и в текущем каталоге):
disable_functions =.
Я получаю эти предупреждения, и кажется, что они больше, чем предупреждения. Если exec()
не запускается, база данных не резервируется.
Неопределенная переменная: вывод в /home/nealsent/public_html/backups/backup_dbs.php в строке 21
Неопределенная переменная: res в /home/nealsent/public_html/backups/backup_dbs.php в строке 210
exec () отключен по соображениям безопасности в /home/nealsent/public_html/backups/backup_dbs.php в строке 210
Код следующий.
// dump db unset($output); // Line 210: exec("$MYSQL_PATH/mysqldump $db_auth --opt $db 2>&1 >$BACKUP_TEMP/$db.sql", $output, $res);
с// dump db unset($output); // Line 210: exec("$MYSQL_PATH/mysqldump $db_auth --opt $db 2>&1 >$BACKUP_TEMP/$db.sql", $output, $res);
Многие хосты отключают определенные функции и не позволяют переопределять их в пользовательских php.ini (просто потому, что PHP предлагает возможность иметь собственный php.ini, не означает, что все настройки PHP обязательно настроены так, чтобы вы могли изменить этот параметр через например).
Скорее всего, хост просто не разрешает exec (). Не так много вы можете сделать по этому поводу.
Другая возможность заключается в том, что exec отключен безопасным режимом PHP. На ссылочной странице похоже, что вы можете избежать этого, поставив скрипт, который вы выполняете, в «безопасный режим exec» для PHP.