質問編集履歴

2

内容に合わせたタイトルの変更

2019/04/06 08:51

投稿

IST
IST

スコア14

test CHANGED
@@ -1 +1 @@
1
- PHPからOracleの接続時にstub見てまう現象
1
+ php.iniがphp_oci8.dll参照ない
test CHANGED
File without changes

1

問題の切り分け後に、書式を改善

2019/04/06 08:51

投稿

IST
IST

スコア14

test CHANGED
File without changes
test CHANGED
@@ -16,27 +16,23 @@
16
16
 
17
17
 
18
18
 
19
- 突然、PHP からOracleに接続が出来なくな
19
+ 突然、PHP からOracleに接続が出来なくなりまし
20
20
 
21
21
 
22
22
 
23
- 接続箇所の前後で文字列を出力てみると
23
+ php_oci8.dllが正く動作しません。
24
+
25
+ もしくは、php.iniがphp_oci8.dllを正しく見てくれません。
24
26
 
25
27
 
26
28
 
27
- ```php
29
+ oci8.phpが使われているかどうかを確認するため、名前を変更。
28
30
 
29
- echo "a";
31
+ `php_oci8.dll` → `php_oci88.dll`
30
-
31
- @ocilogon
32
-
33
- echo "b";
34
-
35
- ```
36
32
 
37
33
 
38
34
 
39
- 上記の場合、 a のみが表示される
35
+ こちら…エラーになりません
40
36
 
41
37
 
42
38
 
@@ -50,109 +46,29 @@
50
46
 
51
47
 
52
48
 
53
- ### 正常動作してい環境
49
+ ## やっこと
54
50
 
55
51
 
56
52
 
57
- ####
53
+ * DB接続箇所以外は正常動作していることを確認済み
58
54
 
55
+ * DBはクライアントツール(SQL Developer)で接続可能なことを確認済み
59
56
 
57
+ * php.ini の設定でphp_oci8.dllが有効であることを確認済み
60
58
 
61
- * Eclipse
62
-
63
- * SQL Developer
64
-
65
-
66
-
67
- #### 現在
68
-
69
-
70
-
71
- * PhpStorm2018
72
-
73
- * DataGrip
74
-
75
-
76
-
77
- #### 正常動作しなくなった環境
78
-
79
-
80
-
81
- * PhpStorm2019
82
-
83
- * DataGrip
84
-
85
-
86
-
87
- 動いていた時期と動かなくなったことの間にやったことは、
88
-
89
-
90
-
91
- * PhpStormのアップグレード
92
-
93
- * (無関係とは思いますが)直前にMavenを別件でインストールしました。
94
-
95
-
96
-
97
- アップグレード直後のPhpStormは、設定を引き継ぐかどうかを問われますが、何も考えずにデフォルトのままでOKをしています。
98
-
99
-
100
-
101
- ## やったこと
102
-
103
- ### PhpStorm
104
-
105
-
106
-
107
- * PhpStorm2018にダウングレード
108
-
109
- * PhpStorm自体をアンインストール
110
-
111
-
112
-
113
- ### Apatch
114
-
115
-
116
-
117
- httpd.confのDocumentRootの確認
118
-
119
-
120
-
121
- ### PHP
122
-
123
-
124
-
125
- DBへの接続情報が正しいことを確認
126
-
127
-
128
-
129
- ### DB
130
-
131
-
132
-
133
- DataGripから接続し、データを参照できることを確認
134
-
135
-
136
-
137
- ### 設定ファイル
138
-
139
-
140
-
141
- `php_oci8.dll` が以下のようなっていることを確認をしました。
59
+ * php_oci8.dll`C:¥php¥extension¥`置かれていることを確認済み
142
60
 
143
61
 
144
62
 
145
63
  ```
146
64
 
147
- extension=php_oci8.dll
65
+ phpinfo();
148
66
 
149
67
  ```
150
68
 
69
+ で、php.iniの場所を確認し、設定を書き換えてブラウザで表示をすると、変更が反映されるので、
151
70
 
152
-
153
- また、`php_oci8.dll` が `C:¥php¥extension¥` に置かれていることを確認しました。
154
-
155
- ソースを動かすと、DBに接続する箇以外は正常に動作します。
71
+ php.iniの場所は正しいと思います。
156
72
 
157
73
 
158
74
 
@@ -164,100 +80,14 @@
164
80
 
165
81
 
166
82
 
167
- oci8.phpが使われているかどうかを確認するため、名前を変更。
168
-
169
- `oci8.php` → `oci88.php`
170
-
171
- …エラーになりませんでした。
172
-
173
-
174
-
175
- ### php.ini の確認
176
-
177
-
178
-
179
- `oci8.php` の名前を変更してもエラーにならなかったため、
180
-
181
-
182
-
183
- `extension_dir` も改めて確認しましたが問題はありません。
184
-
185
-
186
-
187
- ## 予測
188
-
189
-
190
-
191
- 接続の関数は、(PHP4系を使用しているので)@OCILogon(接続情報)で接続しています。
192
-
193
-
194
-
195
- ここにカーソルを当てて、PhpStormの機能で、Ctrl + b で関数の定義元にジャンプしてみました。
196
-
197
- すると、oci8.phpというファイルに飛びます。
198
-
199
-
200
-
201
- ファイルのパスを調べてみると、以下のようになっています。
202
-
203
-
204
-
205
- ```
206
-
207
- JetBrains/Toolbox/apps/PhpStorm/ch-0/191.6183.95/PhpStorm.app/Contents/plugins/php/lib/php.jar!/stubs/oci8/oci8.php
208
-
209
- ```
210
-
211
-
212
-
213
- ここに定義されているのですが、中身が空となっています。
214
-
215
-
216
-
217
- 実際のソースと同様のものは以下のUrlです。
218
-
219
- ⇨[ソース](https://github.com/JetBrains/phpstorm-stubs/blob/a7ab02b8f7fc78dec1e513ed5e732f117a0436c4/oci8/oci8.php#L1907)
220
-
221
-
222
-
223
- そのため、私はPhpStorm内のstubで用意されたocilogonを読み込んでしまっているのが原因なのではないかと考えています。
224
-
225
-
226
-
227
- 仮にこれが、PhpStormの設定だと仮定する場合、
228
-
229
- PhpStormの設定の優先順位を、php.iniより低くするにはどのようにすればよいでしょうか。
230
-
231
-
232
-
233
- また、php.ini が oci8.dll を見に行っているかを確認するには、私が行った『ファイル名を変更してエラーになるか確認する』以外に何かありますでしょうか。
234
-
235
-
236
-
237
83
  ## 備考
238
84
 
239
85
 
240
86
 
241
- * Git for Windows、start . と打つと、Command not foundなったため環境変数にsystem32をセットし直しました。
87
+ PhpStormOCILogon()の呼び出し元にジャンプすると、PhpStorm側で用意されている、
88
+
89
+ oci8.phpというファイルの下記の場所にジャンプします。
242
90
 
243
91
 
244
92
 
245
- パスが原因ではないことを確認するため、
246
-
247
- php -v でPHPが動作することを確認。
248
-
249
-
250
-
251
- PhpStorm はPHP5系からしか対応していませんが、それまでは問題なく使用できていたので『4系でPhpStorm を使用しているから』ではないと考えています。
93
+ https://github.com/JetBrains/phpstorm-stubs/blob/a7ab02b8f7fc78dec1e513ed5e732f117a0436c4/oci8/oci8.php#L1907
252
-
253
- (問題を解決して、このままPhpStormを使い続けたい)
254
-
255
-
256
-
257
- PHP4系と、少々古く、回答を得られにくいことは承知しておりますが、
258
-
259
- 自身の力量の限界まで試行錯誤した結果、解決できませんでした。
260
-
261
-
262
-
263
- 有識者の方々のお力をお貸しくださいましたら幸いです。