私も勉強がてら色々試して設定した結果phpinfo()に表示する事で良ければできました。
xamppではなくphpとapacheを個別に入れたので単純に設定できていないのだと思います。
そして私は、xampp、php、apache、opensslはすべて全くの素人ですので以下は自己責任で行ってください。
確かにxamppのphp.iniのextension=ldapをコメントから外し、libeay32.dllとssleay32.dllは phpフォルダに入れるだけでxampp版は表示が出来ました。
しかし、個別にphpとapacheを導入している場合は表示はできませんでした。
まずは、現状のphpinfo()を見てください。OpenSSLの項目も無いはずです。
そして、回答です。
xamppを参考にしただけなのですがphp.ini内をopensslで検索してを以下に変えてください。
;extension=openssl ;これはコメントでも表示できました。
extension=php_openssl.dll
[openssl]
openssl.cafile = "\Program Files\apache24\bin\curl-ca-bundle.crt"
※apacheのフォルダはどこか不明ですのでご自身のに変えてください
これで表示できるはずです。
xamppにはbinフォルダ下にcurl.exeとcurl-ca-bundle.crt(証明書)があります。
個別にapacheを導入した場合はありませんが(本当は必要のようですが)なくても表示自体はできるようです。
phpやapacheの個別の環境がどの様にされているか不明ですが基本こちらは.zipファイルを展開し、
apacheのhttp.confにphpの設定を書きhttpd.exeをダブルクリックで実行してphpファイルを表示しているだけです。
*最後に私の試した環境
Windows10 home x64 64bit
xampp:xampp-windows-x64-7.3.8-2-VC15.zip
php個別:php-7.2.22-Win32-VC15-x64.zip(Thread Safe)
apache個別:httpd-2.4.41-win64-VS16.zip
(2.4.29はどこにあるか分からなかったので最新のを使いました)
##### 編集
原因は、2つありそうです。
- ldapを読み込みで存在しないPathを読んでいるからでした。
これを合わせる。
2 .それと、php.exeがあるフォルダ(phpフォルダになると思います)にシステム環境変数のPathを
通し(コマンドプロンプトでどのディレクトリにいてもphp -vでバージョン確認ができる事)、
libeay32.dllとssleay32.dllをphp.exeと同じフォルダに入れておく。
または、Windowsのsystem32フォルダにlibeay32.dllとssleay32.dllを入れてPCの再起動をする。
※もしかしたらlibsasl.dllも関連している可能性もあるとかなんとか。
php.iniの編集
extensionを指定していないので`C:\php\ext\php_ldap.dllとなってしまう様です。
xamppではextension_dir=にPathが指定されておりました。
; On windows:
; extension_dir = "ext"
extension_dir="C:\Program Files\php\ext"
extension=ldap
extension=openssl
;extension=php_openssl.dll ;これは、レガシーの書き方の様なのでextension=openssl
これで、extension=ldap
はC:\Program Files\php\ext\php_ldap.dll
を読みに行くようです。
※opensslも同じ。
これでもエラーログに存在するPathなのに出る場合は上記2.のどちらかを行うと表示されるはずです。
私も2.を行う前は同じエラーがでましたが、Pathを通すと表示する事が出来エラーも無くなりました。
httpd.confの編集
後は、変更したといえばApacheの方ぐらいしかないので変更箇所を書いときます。
#ServerName www.example.com:80
ServerName localhost:80
#DocumentRoot "${SRVROOT}/htdocs"
#<Directory "${SRVROOT}/htdocs">
DocumentRoot "C:/Workspace/xxx/"
<Directory "C:/Workspace/xxx/">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
LoadModule php7_module "C:/Program Files/php/php7apache2_4.dll"
AddHandler application/x-httpd-php .php
PHPIniDir "/Program Files/php"
<IfModule dir_module>
#index.phpを追加
DirectoryIndex index.html index.php
</IfModule>