database
Guest
Ftp и listen()
На хостинге лежит файл ftp.php, при запросе он должен открывать соединение с фтп и передавать файл. И тут возникает проблема. Если запросить файл через браузер, то все проходит удачно. Но у меня есть необходимость делать это по крону.
Команда в кроне такая: /usr/local/bin/php -f $HOME/ftp.php
После ее выполнения на почту приходит сообщение об ошибки:
Суппорт сказал: "у нас на сервере запрещено открывать порты на прослушивание, на что он
собственно и ругается." А я не понимаю, какое тут прослушивание, найти, что то в инете не смог.
Использование PASSIVE MODE не помогает, после запуска выдает такое сообщение:
Сам класс очень простой.
Помогите решить эту проблему, пожалуйста.
На хостинге лежит файл ftp.php, при запросе он должен открывать соединение с фтп и передавать файл. И тут возникает проблема. Если запросить файл через браузер, то все проходит удачно. Но у меня есть необходимость делать это по крону.
Команда в кроне такая: /usr/local/bin/php -f $HOME/ftp.php
После ее выполнения на почту приходит сообщение об ошибки:
PHP:
PHP Warning: ftp_put() [<a href='function.ftp-put'>function.ftp-put</a>]: listen() failed: Operation not permitted (1)
in ftp_class.php on line 48
PHP Warning: ftp_put() [<a href='function.ftp-put'>function.ftp-put</a>]: CWD command successful. in
/ftp_class.php on line 48
<br />
<b>Warning</b>: ftp_put() [<a href='function.ftp-put'>function.ftp-put</a>]: listen() failed: Operation not permitted (1)
in <b>ftp_class.php</b> on line <b>48</b><br />
<br />
<b>Warning</b>: ftp_put() [<a href='function.ftp-put'>function.ftp-put</a>]: CWD command successful. in
<b>ftp_class.php</b> on line <b>48</b><br />
собственно и ругается." А я не понимаю, какое тут прослушивание, найти, что то в инете не смог.
Использование PASSIVE MODE не помогает, после запуска выдает такое сообщение:
PHP:
PHP Warning: ftp_put() [<a href='function.ftp-put'>function.ftp-put</a>]: php_connect_nonb() failed: Operation now in progress (115)
in ftp_class.php on line 49
PHP Warning: ftp_put() [<a href='function.ftp-put'>function.ftp-put</a>]: CWD command successful. in ftp_class.php on line 49
<br />
<b>Warning</b>: ftp_put() [<a href='function.ftp-put'>function.ftp-put</a>]: php_connect_nonb() failed: Operation now in progress (115)
in <b>ftp_class.php</b> on line <b>49</b><br />
<br />
<b>Warning</b>: ftp_put() [<a href='function.ftp-put'>function.ftp-put</a>]: CWD command successful. in <b>ftp_class.php</b> on line <b>49</b><br />
PHP:
class ftp {
var $host = '';
var $port = ;
var $user = 'e';
var $pass = '';
var $dir = '.';
var $mode = FTP_ASCII;
var $link = null;
var $login = null;
function connect ()
{
$this->link = ftp_connect($this->host, $this->port);
if ($this->link)
$this->login = ftp_login($this->link, $this->user, $this->pass);
}
function cd ($dir = '')
{
if (!$this->link) $this->connect();
if ($this->login)
{
if (ftp_chdir($this->link, $dir)) return true;
else return false;
}
}
function ls ($dir = '')
{
if (!$this->link) $this->connect();
if ($this->login)
{
$list = ftp_nlist($this->link, $dir);
if ($list) return $list;
else return false;
}
}
function put ($local, $remote = '')
{
if (!$this->link) $this->connect();
if ($this->login)
{
if (empty($remote)) $remote = $local;
if (ftp_put($this->link, $remote, $local, $this->mode)) return true; else return false;
}
}
}