PHP 5.2 / IIS 6.0 / Oracle (php_oci8.dll) - Access denied.

PHP 5.2 / IIS 6.0 / Oracle (php_oci8.dll) - Access denied.

am 26.04.2007 10:14:28 von thorsten.kuefer

Hallo

Ich bin mittlerweile am verzweifeln. Ich lasse PHP 5.2 im ISAPI-Modus im IIS
6.0 laufen. Das klappt und ich kann auch Erweiterungen über die php.ini
laden (z.B. imap, mysql).

Aber sobald ich die Orcale oci8-Extension aktivieren möchte, bekomme ich
beim Starten des Webservers/PHP diese Meldung im Event-Log:

Application popup: Warning : PHP Startup: Unable to load dynamic library
'c:\php\ext\php_oci8.dll' - Access is denied.

Wenn ich das PHP-Skript von der Kommandozeile starte, klappt es. Der
Oracle-Client 10 ist installiert und ORACLE_HOME ist gesetzt.

Ich habe schon alle möglichen Rechte gesetzt und wieder weggenommen, aber es
nützt nichts. Habt Ihr noch einen Rat für mich?

--
Gruß Thorsten

Re: PHP 5.2 / IIS 6.0 / Oracle (php_oci8.dll) - Access denied.

am 26.04.2007 11:21:02 von Joerg Behrens

Thorsten Küfer schrieb:
> Hallo
>
> Ich bin mittlerweile am verzweifeln. Ich lasse PHP 5.2 im ISAPI-Modus im IIS
> 6.0 laufen. Das klappt und ich kann auch Erweiterungen über die php.ini
> laden (z.B. imap, mysql).
>
> Aber sobald ich die Orcale oci8-Extension aktivieren möchte, bekomme ich
> beim Starten des Webservers/PHP diese Meldung im Event-Log:
>
> Application popup: Warning : PHP Startup: Unable to load dynamic library
> 'c:\php\ext\php_oci8.dll' - Access is denied.
>
> Wenn ich das PHP-Skript von der Kommandozeile starte, klappt es. Der
> Oracle-Client 10 ist installiert und ORACLE_HOME ist gesetzt.

Das klaptt auch wenn man das Script als IIS Benutzer ausfuehrt?


> Ich habe schon alle möglichen Rechte gesetzt und wieder weggenommen, aber es
> nützt nichts. Habt Ihr noch einen Rat für mich?
>

Schau halt nach ob der IIS das Environment auch kennt bzw. ob er
Leserechte an den Oracle CLient Dateien hat. Der IIS hat ja seinen
eigenen Benutzer.

Gruss
Joerg

--
TakeNet GmbH, Geschaeftsfuehrer Wolfgang Meier
97080 Wuerzburg Tel: +49 931 903-2243
Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
HRB Wuerzburg 6940 http://www.takenet.de

Re: PHP 5.2 / IIS 6.0 / Oracle (php_oci8.dll) - Access denied.

am 26.04.2007 12:48:49 von thorsten.kuefer

Joerg Behrens schrieb:
> Thorsten Küfer schrieb:
>> Ich bin mittlerweile am verzweifeln. Ich lasse PHP 5.2 im ISAPI-Modus
>> im IIS
>> 6.0 laufen. Das klappt und ich kann auch Erweiterungen über die php.ini
>> laden (z.B. imap, mysql).
>>
>> Aber sobald ich die Orcale oci8-Extension aktivieren möchte, bekomme ich
>> beim Starten des Webservers/PHP diese Meldung im Event-Log:
>>
>> Application popup: Warning : PHP Startup: Unable to load dynamic library
>> 'c:\php\ext\php_oci8.dll' - Access is denied.
>>
>> Wenn ich das PHP-Skript von der Kommandozeile starte, klappt es. Der
>> Oracle-Client 10 ist installiert und ORACLE_HOME ist gesetzt.
>
> Das klaptt auch wenn man das Script als IIS Benutzer ausfuehrt?

Wie kann ich das machen? Bei ausführen als, erscheinen die IIS-Nutzer nicht.

>
>> Ich habe schon alle möglichen Rechte gesetzt und wieder weggenommen,
>> aber es
>> nützt nichts. Habt Ihr noch einen Rat für mich?
>>
>
> Schau halt nach ob der IIS das Environment auch kennt bzw. ob er
> Leserechte an den Oracle CLient Dateien hat. Der IIS hat ja seinen
> eigenen Benutzer.

Ich habe nochmal diesen kompletten Konfigurationsbaum des IIS
durchgearbeitet und bei DefaultAppPool verschiedenen Identitäten
ausprobiert. Wenn ich da Local System einstelle funktioniert es!

Ist das ein großes Sicherheitsproblem (es erscheint eine Warnung)? Der
Server ist nur über HTTPS und für lokale Windows-Nutzer erreichbar.

--
Gruß Thorsten

Re: PHP 5.2 / IIS 6.0 / Oracle (php_oci8.dll) - Access denied.

am 28.04.2007 02:41:01 von Oliver Block

Thorsten Küfer wrote:

> Ich habe schon alle möglichen Rechte gesetzt und wieder weggenommen, aber
> es nützt nichts. Habt Ihr noch einen Rat für mich?

Sieh die Verweise der Reihe nach durch.
 




Falls Du es bis hier nicht befriediegend lösen konntest, dann empfehle ich
Dir die folgende Mailinglist von PHP. Entweder Du sendest eine Email mit
dem Hinweis, daß Du nicht abonniert hast - Das ist notwendig, damit die
Antwort auch bei Dir ankommt. Oder Du abonnierst die Liste, indem Du sie
auswählst, und anschliessend unten Deine Email-Adresse einträgst.

(Windows PHP users list)

Du schreibst ja selbst, daß andere Module laufen. Und soweit ich Dich
verstanden habe, sind die auch im gleichen Verzeichnis.

Gruß,

Oliver