teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

変更2

2019/09/17 14:22

投稿

shinami
shinami

スコア334

answer CHANGED
@@ -58,4 +58,29 @@
58
58
  ※opensslも同じ。
59
59
 
60
60
  これでもエラーログに存在するPathなのに出る場合は上記2.のどちらかを行うと表示されるはずです。
61
- 私も2.を行う前は同じエラーがでましたが、Pathを通すと表示する事が出来エラーも無くなりました。
61
+ 私も2.を行う前は同じエラーがでましたが、Pathを通すと表示する事が出来エラーも無くなりました。
62
+
63
+ ###### httpd.confの編集
64
+ 後は、変更したといえばApacheの方ぐらいしかないので変更箇所を書いときます。
65
+
66
+ ```
67
+ #ServerName www.example.com:80
68
+ ServerName localhost:80
69
+
70
+ #DocumentRoot "${SRVROOT}/htdocs"
71
+ #<Directory "${SRVROOT}/htdocs">
72
+ DocumentRoot "C:/Workspace/xxx/"
73
+ <Directory "C:/Workspace/xxx/">
74
+ Options Indexes FollowSymLinks Includes ExecCGI
75
+ AllowOverride All
76
+ Require all granted
77
+ </Directory>
78
+
79
+ LoadModule php7_module "C:/Program Files/php/php7apache2_4.dll"
80
+ AddHandler application/x-httpd-php .php
81
+ PHPIniDir "/Program Files/php"
82
+ <IfModule dir_module>
83
+ #index.phpを追加
84
+ DirectoryIndex index.html index.php
85
+ </IfModule>
86
+ ```

1

編集

2019/09/17 14:22

投稿

shinami
shinami

スコア334

answer CHANGED
@@ -29,4 +29,33 @@
29
29
  xampp:xampp-windows-x64-7.3.8-2-VC15.zip
30
30
  php個別:php-7.2.22-Win32-VC15-x64.zip(Thread Safe)
31
31
  apache個別:httpd-2.4.41-win64-VS16.zip
32
- (2.4.29はどこにあるか分からなかったので最新のを使いました)
32
+ (2.4.29はどこにあるか分からなかったので最新のを使いました)
33
+
34
+ ##### 編集
35
+ 原因は、2つありそうです。
36
+ 1. ldapを読み込みで存在しないPathを読んでいるからでした。
37
+ これを合わせる。
38
+
39
+ 2 .それと、php.exeがあるフォルダ(phpフォルダになると思います)にシステム環境変数のPathを
40
+ 通し(コマンドプロンプトでどのディレクトリにいてもphp -vでバージョン確認ができる事)、
41
+ libeay32.dllとssleay32.dllをphp.exeと同じフォルダに入れておく。
42
+ または、Windowsのsystem32フォルダにlibeay32.dllとssleay32.dllを入れてPCの再起動をする。
43
+ ※もしかしたらlibsasl.dllも関連している可能性もあるとかなんとか。
44
+
45
+ ###### php.iniの編集
46
+ extensionを指定していないので`C:\php\ext\php_ldap.dllとなってしまう様です。
47
+ xamppではextension_dir=にPathが指定されておりました。
48
+ ```
49
+ ; On windows:
50
+ ; extension_dir = "ext"
51
+ extension_dir="C:\Program Files\php\ext"
52
+ extension=ldap
53
+ extension=openssl
54
+ ;extension=php_openssl.dll ;これは、レガシーの書き方の様なのでextension=openssl
55
+ ```
56
+
57
+ これで、`extension=ldap`は`C:\Program Files\php\ext\php_ldap.dll`を読みに行くようです。
58
+ ※opensslも同じ。
59
+
60
+ これでもエラーログに存在するPathなのに出る場合は上記2.のどちらかを行うと表示されるはずです。
61
+ 私も2.を行う前は同じエラーがでましたが、Pathを通すと表示する事が出来エラーも無くなりました。