2015-04-25 3 views
-3

Я хочу сбрасывать базу данных mysql с помощью ssh-соединения.Ошибка анализа: синтаксическая ошибка, неожиданный 'ssh2_exec' (T_STRING)

<?php 
$vps_ip= 'xxxxxx'; 
$user="yyyy"; 
$passwd="zzzz"; 
$connection = ssh2_connect($vps_ip, 22); 
ssh2_auth_password($connection, $user,$passwd); 
$cmd="mysqldump -u root -pmypass database > /home/back.sql" 
ssh2_exec($connection,$cmd); 
?> 

Сообщение об ошибке:

Parse error: syntax error, unexpected 'ssh2_exec' (T_STRING) in **** on line 7 

Я могу дамп базы данных MySQL в /home/back.sql

mysqldump -u root -pmypass database > /home/back.sql 

Как исправить ошибку синтаксического анализатора в 'ssh2_exec?

+2

вне темы, не хватает запятой в '$ CMD = "MySQLDump -u Рута -pmypass базы данных> /home/back.sql"' - вы можете удалить свой вопрос –

+1

You не хватает полуколонии на последней, но одной строке, которая запускает '$ cmd =', и, как говорит @Fred, ошибки синтаксиса не соответствуют теме. –

+0

Я думаю, что в mypass есть специальный персонаж. Попробуйте $ cmd = 'mysqldump -u root -pmypass database> /home/back.sql'. т.е. использовать одинарные кавычки. – Harikrishnan

ответ

0

Try:

$vps_ip= 'xxxxxx'; 
$user="yyyy"; 
$passwd="zzzz"; 
$connection = ssh2_connect($vps_ip, 22); 
ssh2_auth_password($connection, $user,$passwd); 
$cmd="mysqldump -u root -pmypass database > /home/back.sql" ; //ERROR IS HERE, MISSING ; 
ssh2_exec($connection,$cmd); 
+0

Вы никогда не спите? :))), Это такая маленькая ошибка, что я не думаю, что ей нужно больше объяснений, чем комментарий в коде. –

+1

жаркая погода, я засыпаю. –