При работе через SSL не работает FTP

Aptem

Новичок
При работе через SSL не работает FTP

Привет, всем.

У меня такая проблема.

Есть php-скрипт который соединяется с ftp-сервером и скачивает оттуда затребованный файл. Все работало прекрасно пока на сервер не установили SSL. Теперь при попытке скачивания браузер ругается мол "Не могу найти указанный узел". Как только меняю https на http все работает как раньше.

Файл с ftp-сервера забираю обычным способом:
PHP:
$download = ftp_fget($conn_id, $output, "$source_file", FTP_BINARY);
В чем может быть проблема?

Спасибо за внимание.
 

tony2001

TeaM PHPClub
ошибки надо не пересказывать своими словами, а копировать.
 

Aptem

Новичок
Спасибо за ответы.

По поводу кавычек: Какая разница? это тоже самое что и print ($var) и print ("$var"). Итог один.

По поводу https на http: Необходимо реализовать работу через SSL.
 

dimagolov

Новичок
Aptem
а при чем к http & https ftp? это ведь мало того, что протоколы одного уровня, так еще и сервера (демоны) у них обычно разные.
 

basboy

Новичок
По поводу кавычек: Какая разница? это тоже самое что и print ($var) и print ("$var"). Итог один.
В твоём случае кавычки - это дополнительная операция для парсера. Конечно ресурсов она кушает незначительно. Но если опустить их, то ничего не изменится.

просто к слову...
 

Pigmeich

Новичок
По поводу кавычек: Какая разница? это тоже самое что и print ($var) и print ("$var"). Итог один.
А у меня подсветка синтаксическая в разные цвета красит.

Да и вообще - хороший стиль лишним не бывает. "$var" вряд ли можно назвать хорошим.
 

Aptem

Новичок
Автор оригинала: Gas
А при чём тут http(s) к ftp.
Если пальцем в небо, то [m]ftp_ssl_connect[/m] и до кучи http://en.wikipedia.org/wiki/FTPS
Вот именно это мне и надо было. Думаю проблема в этом. Сейчас попробую. Я просто не знал о существовании ftp_ssl_connect. В форуме искал "ftp ssl", он мне ничего не выдал, поэтому и спросил.

Автор оригинала: Pigmeich
Да и вообще - хороший стиль лишним не бывает. "$var" вряд ли можно назвать хорошим.
Кстати про "$var". Это я с этого форума взял, даже и не заметил сразу. Про стиль - это ты прав, дурной.

Спасибо.

-~{}~ 16.01.08 14:07:

А при использовании ftp_ssl_connect сам ftp-сервер должен быть каким-нибудь особенным (по особенному настроен) или нет? У меня стоит Genie FTP.

-~{}~ 16.01.08 14:07:

А при использовании ftp_ssl_connect сам ftp-сервер должен быть каким-нибудь особенным (по особенному настроен) или нет? У меня стоит Genie FTP.

-~{}~ 17.01.08 09:27:

Все равно выдает ошибку. Вот, что пишется в логах апача:

PHP Fatal error: Call to undefined function ftp_ssl_connect() in C:\\Program Files\\Apache Group\\Apache2\\htdocs\\land_section_2d\\savefromftp.php on line 84, referer: https://dbkgf/land_section_2d/index.php

В phpinfo в строке Registered PHP Streams - php, file, data, http, ftp, compress.zlib, https, ftps.

Что делать? В чем проблема?
 

Pigmeich

Новичок
man cite:

Почему эта функция может быть не определена: Функция ftp_ssl_connect() доступна только если PHP был собран с поддержкой OpenSSL. Под Windows, вам придется собрать PHP самостоятельно для включения поддержки OpenSSL.
 

Aptem

Новичок
Да я вроде все так и сделал, но почему то не работает.
 

FractalizeR

Новичок
Автор оригинала: Aptem
Да я вроде все так и сделал, но почему то не работает.
Простите, но что вы сделали? Скомпилировали самостоятельно PHP под Windows с поддержкой OpenSSL? И все равно не работает?
 

Aptem

Новичок
Автор оригинала: FractalizeR
Простите, но что вы сделали? Скомпилировали самостоятельно PHP под Windows с поддержкой OpenSSL? И все равно не работает?
А разве можно скомпилировать PHP под Windows??? Я мучал php.ini, httpd.conf и другие конфигурационные файлы.
 

Pigmeich

Новичок
Ну, во-первых, собрать можно.

Во-вторых, похоже ман ошибается, поскольку у меня open SSL стоит расширением. На винде. Причем расширение идет в поставке бинарного инсталятора. 5-ой вресии, конечно.

-~{}~ 18.01.08 07:00:

<?php
print_r(get_loaded_extensions());
?>
 

Aptem

Новичок
Автор оригинала: Pigmeich

<?php
print_r(get_loaded_extensions());
?>
Вот что получилось:
PHP:
Array ( [0] => bcmath [1] => calendar [2] => com_dotnet [3] => ctype [4] => session [5] => filter [6] => ftp [7] => hash
[8] => iconv [9] => json [10] => odbc [11] => pcre [12] => Reflection [13] => date [14] => libxml [15] => standard
[16] => tokenizer [17] => zlib [18] => SimpleXML [19] => dom [20] => SPL [21] => wddx [22] => xml [23] => xmlreader
[24] => xmlwriter [25] => apache2handler [26] => oci8 [27] => openssl )
 

Фанат

oncle terrible
Команда форума
я только одного не понял - КУДА устеновили SSL? На какой сервер, в каких целях, и как это отразилось на жизни обычного пользователя?
и какая вообще связь этого загадочного SSL с ftp

непонятно, почему ругается БРАУЗЕР, если рядом приводится строчка, которая относится к ПХП СКРИПТУ

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

автор сам, по-моему, не понимает, ЧТО ИМЕННО вызывает ошибку. а ужа набежала куча специалистов решать проблему.
 

Aptem

Новичок
я только одного не понял - КУДА устеновили SSL? На какой сервер, в каких целях, и как это отразилось на жизни обычного пользователя?
и какая вообще связь этого загадочного SSL с ftp
Поясняю...
Есть сервер на Windows, установлен Apache, PHP5. Один из скриптов скачивает файлы с FTP-сервера (это уже другой физический сервер). Все работает как надо. Затем на этот сервер (который на windows) устанавливают OpenSSL. Ничего не меняется в работе, кроме того, что теперь при попытке скачать файл с ftp-сервера выдается ошибка: "Не удается загрузить файл. бла бла бла, узел не найден и т.д."

Мне посоветовали использовать функцию ftp_ssl_connect, вот я и пытаюсь ее применить. Однако постоянно выдается одна и та же ошибка PHP: Call to undefined function ftp_ssl_connect ().

Вот собственно и тема разговоров.

набежало, блин, советчиков с кавычками.
Это уже побочное...

автор сам, по-моему, не понимает, ЧТО ИМЕННО вызывает ошибку. а ужа набежала куча специалистов решать проблему.
Вот я и пытаюсь понять.
 

FractalizeR

Новичок
Да ну вообще-то PHP мануал однозначно отвечает на вопрос, почему функция не определена:

ftp_ssl_connect() is only available if OpenSSL support is enabled into your version of PHP. If it's undefined and you've compiled FTP support then this is why. For Windows you must compile your own PHP binaries to support this function.

То есть на Windows PHP придется собирать самостоятельно.
 

Gas

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

Aptem
ftp_ssl_connect тебе не нужен.

1. Не нужно пересказывать ошибки своими словами, нужно привести точный её текст.
2. Ошибка на чьей стороне - php, броузер ?
3. "Как только меняю https на http все работает как раньше". Где ты меняешь http на https ?
 
Сверху