2014-01-21 4 views
5

Ich habe Windows XP und vor kurzem habe ich Wamp (Apache-Mysql-PHP) 32-Bit installiert. Ich habe die Installation getestet (Verbindung zu MySQL-Datenbank mit PHP und Apache) und alles hat gut funktioniert.So aktivieren Sie Erweiterungen für Oci8 (Oracle) in PHP.ini - PHP Warnung: PHP Start: in Unknown in Zeile 0

Jetzt muß ich zu einer Oracle-Datenbank verbinden, damit ich einige Erweiterungen zu ermöglichen versucht, im Zusammenhang mit Oracle und oci8.

Und ich tat:

1) I php.ini Datei geöffnet und ich entfernt die Semikolons vor den folgenden Zeilen:

vor:

;extension=php_oci8.dll 
;extension=php_oci8_11g.dll 

nachher: ​​

extension=php_oci8.dll 
extension=php_oci8_11g.dll 

2) ich neu gestartet Apache und alle Dienstleistungen und ich bekomme eine

  • "PHP StartUp" Warnung.

3) In php_error.log Datei erhalte ich:

**PHP Warning: PHP Startup: in Unknown on line 0** 

So, dachte ich, dass es eine gute Idee wäre, wo PHP-Ordner meiner Erweiterung zu überprüfen, ist und wenn diejenigen DLL-Dateien sind da.

In php.ini meine Erweiterung Ordner befindet sich unter:

extension_dir = "C:/wamp/bin/php/php5.4.16/ext/" 

Der Ordner existiert und diese beiden Bibliotheken (php_oci8.dll php_oci8_11g.dll) in diesem Ordner sind.

4) Ich habe in meinem 'Pfad' Systemvariable in Windows die folgenden:

C:\wamp\bin\php\php5.4.16\ext; 

5) ich diese beiden DLL-Dateien in das Apache-Ordner kopiert, aber wieder hat es nicht funktioniert !

C:\wamp\bin\apache\Apache2.4.4\bin 

6) Auch überprüfte ich die phpinfo Seite und der einzige Eintrag ich für "oci8" erhalten, ist die folgende:

Configure Befehl

"--with-oci8=C:\php-sdk\oracle\instantclient10\sdk,shared" "--with-oci8-11g=C:\php-sdk\oracle\instantclient11\sdk,shared" 

Hm ...die folgenden Ordner nicht existieren in meinem System:

C:\php-sdk\oracle\instantclient10\sdk 
C:\php-sdk\oracle\instantclient11\sdk 

Also, was ich, um als nächstes tun werde soll richtig die oci8 Erweiterungen zu ermöglichen?

dank

+1

Auch, nach meiner eigenen Erfahrung, könnte es helfen, wenn Sie _only_ nur eine Erweiterung aktivieren, nicht beide. – Passerby

+0

danke für die Antwort, ich hatte diesen Beitrag bereits gelesen und gestern habe ich das Instant Client Package - Basic (Version 10.2.0.5) heruntergeladen. Das Paket enthielt einige JAR- und DLL-Dateien. Aber ich wusste nicht, in welchen Ordner ich diese Dateien legen soll und was ich als nächstes tun soll. – programmer

+0

@Passerby, auch wenn ich nur eine Erweiterung aktiviere, bekomme ich wieder diese PHP-Warnung – programmer

Antwort

7

[gelöst]

heruntergeladen ich den Instant Client Package - Basic (Version 10.2.0.5) und ich es extrahiert.

Danach kopiert ich alle Dateien dieses Pakets in den folgenden Ordnern:

C:/wamp/bin/php/php5.4.16/ext/ 
C:/wamp/bin/apache/Apache2.4.4/bin 

Es ist für mich auf diese Weise gearbeitet. Danach wurde das oci8-Modul geladen.

+1

Sie können .zip-Inhalte in einen beliebigen gewünschten Ordner extrahieren, fügen Sie es einfach zur 'PATH'-Umgebungsvariablen hinzu. –

+0

@YaroslavShabalin Ich wusste das nicht, danke – programmer

+2

@Yaroslav: Nein! Das funktioniert nicht für Apache 2.4 + PHP 5.5 64bit unter Windows. Ich habe das versucht (Add Client-Ordner als erster Eintrag in PATH hinzufügen) und php_oci8.dll verursacht immer noch die Warnung. Nur das Kopieren all dieser Dateien in Apache/Bin wird die Dinge funktionieren lassen! Kopieren sie zu php/ext ist nicht notwendig! –

1

Wenn Sie den InstantClient herunterladen, vergewissern Sie sich, dass die Architektur wamp installiert hat.

In meinem Fall instantclient zum Herunterladen der x64 aber hatte die x32 installiert und hatte Probleme.

Heruntergeladen die richtige Architektur und es hat gut funktioniert.

Verwandte Themen