Задать вопрос
@min4er

Как настроить ssl на устаревшей версии PHP?

Имеется древняя Ubuntu 10 с PHP 5.3.2 на борту. Есть софт, который не работает даже на PHP 5.4 (((
PHP из коробки собран с поддержкой ssl, соответственно, внешний extension не используется (и отсутствует в убунте как таковой). И вот, настал день, когда потребовалась поддержка не ниже TSL 1.2. Собственно, вопрос, можно ли каким-то трюком "вкорячить" php_ssl, ничего не ломая? Попытасля воткнуть php_openssl.so в виде расширения (брал из других линухов) - не взлетело. Ругалось на зависимости, после удовлетворениня коих заявило, что PHP API видите ли не совпадает. Залез HEX редактором вписал руками нужный цифирь - всё равно упало. Короче, цирк!
Какие будут идеи (кроме переписать софт)?
  • Вопрос задан
  • 579 просмотров
Подписаться 2 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 3
А зачем Вам ssl в php? Чего б не прикрутить ssl выше, например в nginx?
Оффтоп
Залез HEX редактором вписал руками нужный цифирь - всё равно упало.
Если Вам в паспорте, вместо фио, написать "Иванов Иван Иваныч" - Вы им станете?
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Версия PHP никак не влияет на SSL.
На SSL влияет только web-сервер.
Вам нужно настроить нужную версию PHP (обработку скриптов) на любом актуальном веб-сервере, чтобы поднять там TLS 1.2.

Самое лучшее: попробовать разобраться по-шагово в ошибках скрипта и адаптировать его под актуальную версию PHP.
Ответ написан
Комментировать
@min4er Автор вопроса
Возможно, не совсем правильно описал проблему. Скрипт на PHP дёргает удалённый линк веб сервиса по HTTPS. Сей сервис требует TLS 1.2 либо дропает обращение. В тестовом окружении PHP собранный со свежим openssl коннектится успешно, а на древнем продакшене - нет. Вот, надеюсь таки изобрести трюк как подключиться.

Пример скрипта:

<?php

$host = "https://webservice.com/Data.php?version=2.0&wsdl";
$userId = 123;
$pass='123';


$client = new \SoapClient($host, ['trace' => true]);

$session_id = $client->login_token($userId, $pass);

$data = $client->get_data($session_id, "2018-03-01", "2018-04-01");
 

print_r($session_id);

print_r("\r\n");

print_r($data);

$client->logout($session_id);

?>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы