Установка

Для підтримки OpenSSL у PHP вам необхідно скомпілювати його з опцією --with-openssl[=DIR]

Також бібліотека OpenSSL має додаткові вимоги до нормальної роботи під час виконання. Найголовніше, OpenSSL потрібен доступ до генераторів випадкових чи псевдовипадкових чисел; на більшості систем Unix/Linux це означає доступ до пристроїв /dev/urandomили/dev/random

Опція конфігурації --with-system-ciphers змушує PHP використовувати системний список шифрів замість жорстко заданого за умовчанням.

Зауваження Примітки для користувачів Win32

Для роботи цього модуля системної змінної Windows PATH повинні бути доступні DLL-файли. Щоб дізнатися, як цього досягти, зверніться до розділу FAQ "Як додати мою директорію з PHP до змінної Windows PATH". Хоча копіювання DLL-файлів з директорії PHP до системної папки Windows також вирішує проблему (бо системна директорія за умовчанням знаходиться в змінній PATH), це не рекомендується. . Цей модуль потребує наступних файлів у змінній PATH: libeay32.dll, або, починаючи з OpenSSL 1.1, libcrypto-*.dll.

Додатково, якщо ви збираєтеся використовувати функції генерації ключів та підписи сертифікатів, вам доведеться встановити коректний файл openssl.cnf у вашій системі. Ми включили демонстраційний конфігураційний файл до бінарної поставки під win32. Він лежить у директорії extras/ssl.

PHP шукатиме openssl.cnf, використовуючи наступну логіку:

  • Змінне оточенняOPENSSL_CONF. Якщо встановлено, то має містити шлях (включно з ім'ям файлу) до конфігураційного файлу.
  • змінна оточенняSSLEAY_CONF. Якщо встановлено, то має містити шлях (включно з ім'ям файлу) до конфігураційного файлу.
  • Файл openssl.cnf буде шукатися стандартним шляхом для сертифікатів, заданим при компіляції DLL. Зазвичай він заданий як C:\Program Files\Common Files\SSL\openssl.cnf (x64) або C:\Program Files (x86)\Common Files\SSL\openssl.cnf (x86), або до PHP 7.4.0, як C:\usr\local\ssl\openssl.cnf.

Під час встановлення ви повинні визначити, чи встановити файл за стандартним шляхом або зберігати його в іншому місці і задати шлях до нього через змінні оточення, що корисно при використанні віртуальних хостів. Зверніть увагу, що шлях за замовчуванням можна перевизначити у скрипті, використовуючи параметр options функції, який потрібний цей файл.

Застереження

Переконайтеся, що непривілейовані користувачі не можуть змінювати openssl.cnf.

список змін

ВерсияОпис
7.4.0Конфігураційний шлях OpenSSL було змінено з C:\usr\local\ssl на C:\Program Files\Common Files\SSL або C:\Program Files (x86)\Common Files\SSL відповідно.