Forum Moderators: coopster
Can't call method "login" on an undefined value at /usr/local/cpanel/bin/ftpput line 29.
<?php
// ********* Configuration *********
// Info required for cPanel access
$cpuser = "cPanel_username"; // Username used to login to CPanel
$cppass = "cPanel_password"; // Password used to login to CPanel
$domain = "mydomain.co.uk"; // Domain name where CPanel is run
$skin = "x3"; // Set to cPanel skin you use (script won't work if it doesn't match)
// Info required for FTP host
$ftpuser = "ftpuser"; // Username for FTP account
$ftppass = "ftppass"; // Password for FTP account
$ftphost = "188.220.***.***"; // Full hostname or IP address for FTP host
$ftpmode = "ftp"; // FTP mode ("ftp" for active, "passiveftp" for passive)
$ftpport = "21"; // Port (default = 21)
$rdir = "/"; // Remote dir (defaut = / )
// Notification information
$notifyemail = "my@email.fu"; // Email address to send results
// Secure or non-secure mode
$secure = 0; // Set to 1 for SSL (requires SSL support), otherwise will use standard HTTP
// Set to 1 to have web page result appear in your cron log
$debug = 0;
// *********** Don't Touch! *********
//if ($secure) {
// $url = "ssl://".$domain;
// $port = 2083;
//} else {
$url = $domain;
$port = 2082;
//}
$socket = fsockopen($url,$port);
if (!$socket) { echo "Failed to open socket connection... Bailing out!\n"; exit; }
// Encode authentication string
$authstr = $cpuser.":".$cppass;
$pass = base64_encode($authstr);
$params = "dest=$ftpmode&rdir=$rdir&email=$notifyemail&server=$ftphost&port=$port&user=$ftpuser&pass=$ftppass&submit=Generate Backup";
// Make POST to cPanel
fputs($socket,"POST /frontend/".$skin."/backup/dofullbackup.html?".$params." HTTP/1.0\r\n");
fputs($socket,"Host: $domain\r\n");
fputs($socket,"Authorization: Basic $pass\r\n");
fputs($socket,"Connection: Close\r\n");
fputs($socket,"\r\n");
// Grab response even if we don't do anything with it.
while (!feof($socket)) {
$response = fgets($socket,4096);
if ($debug) echo $response;
}
fclose($socket);
?>
Do you have a way of connecting to your ftp server from inside the cpanel and sending the file (manually I mean)? To rule out the php script.Checking now to see if I can do this.
They change stuff with the different cpanel versions so this may not be php related.
PS: And also you should have a log on your ftp server. See what it shows. Was there a connection attempt and what were the parameters/fieldsNo there were no connection attempts whatsoever from my site's IP and never have been on any attempt to run the script. However, the successful connections from the test site are all logged and as expected.
$params = "dest=$ftpmode&rdir=$rdir&email=$notifyemail&server=$ftphost&port=$port&user=$ftpuser&pass=$ftppass&submit=Generate Backup"; $params = "dest=$ftpmode&email=$notifyemail&server=$ftphost&user=$ftpuser&pass=$ftppass&port=$ftpport&rdir=$ftpdir&submit=Generate Backup";