0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

php.iniを編集してもOpenSSLが有効化されない場合の対処法(Windows Server・Apache 環境)

Last updated at Posted at 2022-09-23

Windows Server・Apache 環境でphp.ini(PHP7.4)を編集してもOpenSSLが有効化できなかった。
原因はPHPのディレクトリにパスを通してないことでした。
システム環境変数でパスに追記すれば良いのですが
PHPのディレクトリにパスを通さない場合でも有効化する手順を記します。

①php.iniを編集

コメントアウトを外します。

php.ini
extension=openssl

②-1 PHPのディレクトリにパスを通してある場合

①で動作します。

②-2 PHPのディレクトリにパスを通さない場合

何らかの事情でパスを通せない場合は以下の操作が必要です。
■PHPのディレクトリ直下から下記の2ファイルをコピーします。
:page_facing_up:libcrypto-*.dll
:page_facing_up:libssl-*.dll

上記が見つからない場合は下記の可能性があります。
:page_facing_up:libeay32.dll
:page_facing_up:ssleay32.dll

■DLLファイルをパスを通してある:file_folder:ディレクトリに貼り付けます。
・C:\Windows\System32でも動作しますが(標準でパスが通っているので)、システムディレクトリなので推奨しません。
・Apacheの場合はApacheのbin配下に置いても動作します。

参考

■パスが通った場所にDLLファイルを置くこと
PHP: インストール手順 Win32 ユーザーへの注意

この拡張モジュールを動作させるには、 Windows システムの PATH が通った場所に DLL ファイルが存在する必要があります。

■OpenSSLのDLLファイル名について
OpenSSL 1.1.0+ have changed library names in windows · Issue #1931 · arvidn/libtorrent · GitHub

Since version 1.1.0 OpenSSL have changed their library names from:
(バージョン 1.1.0 以降、OpenSSL はライブラリ名を変更しました)
libeay32.dll -> libcrypto.dll
ssleay32.dll -> libssl.dll

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?