Розширення PHP OpenSSL має пакет?


22

Я знаю, що розширення OpenSSL знаходиться у джерелі PHP, але я не можу його ввімкнути під час виконання apt-get install php5. Немає навіть а apt-get install php5-openssl. Як я повинен діяти?


2
Я знаю, що ця публікація стара, просто якась загальна інформація. За замовчуванням пакети PHP поширюються за допомогою --with-openssl=[defaultpath]. Це означає, що вам потрібно встановити лише openssl (або будь-який інший варіант), наприклад sudo apt-get install openssl (також перевірити, яку версію openssl встановити через серверне з'єднання , наприклад sudo apt-cache policy openssl. Щоб перевірити, чи PHP увімкнено, просто введіть openssl php -m | grep opensslі php -i | grep OpenSSL.
dbf

Відповіді:


29

Я думаю, що підтримка SSL не залежить від розширення, вона вже вбудована в PHP Ubuntu. Спробуйте створити файл PHP на своєму веб-сервері з цим вмістом:

<?php phpinfo() ?>

потім перейдіть до нього у браузері ( http://<server>/<file>.php). Ви повинні побачити:

введіть тут опис зображення

і

введіть тут опис зображення

У мене встановлені лише ці PHP-пакети: libapache2-mod-php5, php5-cli, php5-common, php5-gd, php5-mcrypt, php5-mysql.


Про мою систему забули про особисте складання ... Дякую!
Тассо Євангеліста

15
Або зателефонуйте до функції в терміналіphp -i | grep -i openssl
Overclover

Швидкий oneliner, щоб перелічити всі модулі, які в даний час увімкнено у вашому бінарному PHP:php -i | grep enabled
JulioHM

11

Спробуйте :

php -i | grep -i openssl

Якщо у вас встановлено розширення OpenSSL, ви повинні побачити щось подібне:

openssl
OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 1.0.1f 6 Jan 2014
OpenSSL Header Version => OpenSSL 1.0.1f 6 Jan 2014
openssl.cafile => no value => no value
openssl.capath => no value => no value
OpenSSL support => enabled

Здається, що розширення OpenSSL встановлено за замовчуванням.

Оновлення :

Якщо у вас немає цього розширення, ви можете редагувати файл php.ini .

Від php.ini :

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;

; If you wish to have an extension loaded automatically, use the following
; syntax:
;
;   extension=modulename.extension
;
; For example, on Windows:
;
;   extension=msql.dll
;
; ... or under UNIX:
;
;   extension=msql.so
;
; ... or with a path:
;
;   extension=/path/to/extension/msql.so
;
; If you only provide the name of the extension, PHP will look for it in its
; default extension directory.
;

якщо ні, що відповідь?
Браян Меллор

@BraianMellor В php.ini спробувати змінити ;extension=php_openssl.dllдо extension=php_openssl.dllабо , може бути , знайти відповідь на simplemachines.org/community/index.php?topic=310264.0 Удачі!
simhumileco

.dll в Linux? Ти впевнений?
Браян Меллор

1
Моє рішення було встановити openssl apt-get. Найкраще!
Браян Меллор

1
@BraianMellor напишіть відповідь :)
simhumileco

1

Я встановив OpenSSL 1.1.0fза допомогою

# apt-get install openssl

# php -i | grep -i openssl
openssl
OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 1.1.0f  25 May 2017
OpenSSL Header Version => OpenSSL 1.1.0f  25 May 2017
Openssl default config => /usr/lib/ssl/openssl.cnf
openssl.cafile => no value => no value
openssl.capath => no value => no value
Native OpenSSL support => enabled

Сподіваюся, це допоможе комусь!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.