Установка
Для підтримки 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 відповідно. |