Para usar el soporte de OpenSSL en PHP debe también compilar PHP con --with-openssl[=DIR] .
La biblioteca OpenSSL también tiene requerimientos adicionales para la operación normal en tiempo de ejecución. En particular, OpenSSL requiere acceso a un generador de números aleatorios o pseudoaleatorios; en la mayoría de plataformas Unix y similares a Unix (incluyendo Linux), esto significa que se debe tener acceso a dispositivo /dev/urandom o /dev/random.
Nota: Nota para los usuarios de Win32
Para que esta extensión funcione, hay unos ficheros DLL que deben estar disponibles en el PATH del sistema de Windows. Para obtener más información sobre esto, vea la FAQ titulada "Como añadir mi directorio de PHP al PATH de Windows". Aunque copiar los ficheros DLL desde el directorio PHP al directorio del sistema de Windows también funciona (porque el directorio del sistema está de manera predeterminada en el PATH del sistema), no se recomienda. Esta extensión requiere que los siguientes ficheros esten en el PATH: libeay32.dll
Adicionalmente, si está planeando usar las funciones de generación de claves y firma de certificados, necesitará instalar un archivo openssl.cnf válido en su sistema. A partir de PHP 4.3.0, incluimos un archivo de configuración de ejemplo en nuestras distribuciones binarias de win32. En PHP 4.3.x y 4.4.x el archivo está en el directorio openssl. En PHP 5.x y 6.x el archivo está en el directorio extras/openssl. Si está utilizado PHP 4.2.x o ha perdido el archivo, puede obtenerlo en la página de binarios de OpenSSL o descargar una versión reciente de PHP. Sepa que Windows Explorer oculta la extensión .cnf por defecto y dice que el tipo de archivo es SpeedDial.
PHP buscará el archivo openssl.cnf usando la siguiente lógica:
Durante la instalación, necesita decidir si instalar el archivo de configuración en c:\usr\local\ssl\openssl.cnf o si instalarlo en otro lugar y usar variables de entorno (posiblemente de acuerdo a un servidor virtual) para ubicar el archivo de configuración. Observe que es posible sobrescribir la ruta por defecto desde el script usando el parámetro
- la variable de entorno OPENSSL_CONF, si está establecida, se usará como la ruta (incluido el nombre de archivo) del archivo de configuración.
- la variable de entorno SSLEAY_CONF, si está establecida, se usará como la ruta (incluido el nombre de archivo) del archivo de configuración.
- El archivo openssl.cnf se asume que está en el área de certificados por defecto, como se configuró en el momento en que la DLL de OpenSSL fue compilada. Esto normalmente significa que el nombre de archivo por defecto es c:\usr\local\ssl\openssl.cnf.
configargs
de las funciones que requieren un archivo de configuración.