php.iniにextension=php_openssl.dll
を追加してもphpinfoでOpenSSL supportがdisabeldのまま。
他の拡張はこれだけで動くんだけどなーって4時間ぐらいはまりました。
解決法
OpenSSL support disabled in Apache/PHP on Windows - Stack Overflow
httpd.conf
に↓を追加します。
LoadFile "{phpのインストールパス}\libeay32.dll" LoadFile "{phpのインストールパス}\ssleay32.dll" LoadFile "{phpのインストールパス}\php5ts.dll" LoadFile "{phpのインストールパス}\libpq.dll"
私の場合scoop経由でインストールしてたのでこうですね。
LoadFile "C:\Users\{ユーザー}\scoop\apps\php55\current\libeay32.dll" LoadFile "C:\Users\{ユーザー}\scoop\apps\php55\current\ssleay32.dll" LoadFile "C:\Users\{ユーザー}\scoop\apps\php55\current\php5ts.dll" LoadFile "C:\Users\{ユーザー}\scoop\apps\php55\current\libpq.dll"
apacheを再起動してphpinfoを確認
OpenSSL supportがenabledに!!!
英語読めないマンなのでStackOverflowの記事読んでもC:/jampp/php/
がどこのことかわからなくて(ググったらWin32 OpenSSLとか出てきて…)試せなかったんです。
1日置いて「もしかして…?」でファイル検索してみたらphpインストールフォルダにありました。
徒労感あるけどとりあえずうれしい!!!
以下試行錯誤した内容
環境
Windows10
scoop経由でphp7とphp5.5とapacheインストール
コマンドはPowerShellで実行
C:\Users\{ユーザー}\scoop\persist\php\cli\conf.d
編集しても効いてないようだったのでC:\Users\{ユーザー}\scoop\apps\php55\current\php.ini
を編集
※たぶんapacheの設定つまずいてhttpd.confのPHPIniDirに↑指定したから
;extension=php_openssl.dll extension=php_openssl.dll
httpd
してphpinfoを確認してみる
PS > httpd
作っておいたphpinfoにアクセス
pearのOpenSSLがdisabledのまま…
php -m
してみる
PS > php -m [PHP Modules] bcmath calendar Core ctype date dom ereg filter ftp hash iconv json libxml mbstring mcrypt mhash mysql mysqlnd odbc openssl pcre PDO pdo_mysql Phar Reflection session SimpleXML SPL standard tokenizer wddx xdebug xml xmlreader xmlwriter zip zlib [Zend Modules] Xdebug
opensslおるな…
php --ri openssl
してみる
PS > php --ri openssl openssl OpenSSL support => enabled OpenSSL Library Version => OpenSSL 1.0.1t 3 May 2016 OpenSSL Header Version => OpenSSL 1.0.1t 3 May 2016