#php #ssl
#php #ssl
Вопрос:
Я использую PHP, чтобы выполнить системную команду и отобразить вывод в браузере, но браузер ничего не показывает, я использую xampp на Mac.
Это мой код:
<?php
system("curl --insecure -v https:example.com 2>amp;1 | awk 'BEGIN { cert=0 } /^* SSL connection/ { cert=1 } /^*/ { if (cert) print }' | grep 'SSL connection'");
?>
Комментарии:
1. Из любопытства, какой смысл выдавать внешний канал команд для установления HTTP-соединения? Это в основном значительно усложняет проверку ошибок, потому что вы перемещаете всю логику в черный ящик. В любом случае, вы должны хотя бы использовать
$return_var
параметр , чтобы выяснить, сработал ли системный вызов.2. Да, чувак, я понял это позже, я использую curl с PHP, вместо того, чтобы выдавать системную команду для получения алгоритма шифрования.
Ответ №1:
Это не проблема с самой system()
командой. В конце вы ожидаете отобразить строку, отфильтрованную grep, которая не существует, поэтому в этом причина отсутствия вывода.
Проблема заключается в недопустимом URL, переданном CURL.
Изменить
https:example.com
Для
https://example.com
# добавить косые черты
Комментарии:
1. Спасибо за ваш ответ, но вместо этого я использовал curl в PHP вместо выдачи системной команды, потому что это небезопасно.
2. @achkar69 Расширение PHP Curl по сути является оболочкой для той же библиотеки, которую использует командная строка curl.