ftp_connect - из консоли работает, из браузера - нет

Magz

Новичок
Доброго дня. Есть файл:
PHP:
$conn_id = ftp_connect($host, 990) or die("Bad conn");
$login_result = ftp_login($conn_id, $user, $pwd);
var_dump(ftp_nlist($conn_id, "."));
ftp_close($conn_id);
Вызываю скрипт из браузера - "Bad conn". Запускаю из командной строки - задумывается секунд на 30 и выдает
[root@virtos2 www]# php -f _ftp.php
bool(false)
iptables на серере отключен. Вход через ftp (из консоли) и получение списка файлов проходит без проблем. В чем может быть проблема?
 

С.

Продвинутый новичок
Проблама может быть в том, что выдача ошибок подавлена.
 

Magz

Новичок
Не издевайтесь. Добавил в начало скрипта
PHP:
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
Ничего не поменялось. Ни в браузере, ни в консоли
 

Magz

Новичок
В браузере без изменений, а консоль обновилась:
[root@virtos2 www]# php -f _ftp.php
PHP Warning: ftp_login(): AUTH command is disabled. in /var/www/gizomenu/www/_ftp.php on line 7

Warning: ftp_login(): AUTH command is disabled. in /var/www/gizomenu/www/_ftp.php on line 7
bool(false)
[root@virtos2 www]#
Но в браузере-то вообще коннект не проходит! Не понимаю, в чем разница между запуском из браузера и из консоли?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Magz, разница может быть в разном php.ini и прочем.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Magz, соединяешься по имени хоста или айпишнику?
 

AnrDaemon

Продвинутый новичок
Magz, сравните phpinfo() полностью.
Может, тогда наконец поймёте, что конфиги для CLI SAPI и для что-там-у-вас-сервер-использует SAPI всегда разные.
 

Активист

Активист
Команда форума
В браузере без изменений, а консоль обновилась:
Но в браузере-то вообще коннект не проходит! Не понимаю, в чем разница между запуском из браузера и из консоли?
В пользователях и правах пользователей. Почему порт не 21 ? Поставьте стандартный порт. FTP старый протокол и довольно кривой, поэтому на уровне оборудования/ядра встречаются костыли. Еще есть pasv метод. Попробуйте его заюзать!

30 секунд это таймаут коннекта. Active режим надо перевести в Passiv (в это проблема 100%). Хотя изначально проблема в том, что используется отличный от 21 порта.

Читайте

Да, добейтесь первоначально работу из консоли, потом уже браузер ковырять.
 
Последнее редактирование:
Сверху