Zum Inhalt springen

[PHP]SaveAs über Excel(COM) auf Win Server 2008 nicht möglich


Empfohlene Beiträge

Hallo zusammen,

ich verwende die COM-Schnittstelle von PHP(5.2.11) um Exceldokumente zu erzeugen. (im Apache 2.2.14 eingebunden)

Das lief auch alles auf dem Windows Server 2003 und XP soweit halbwegs gut.

Auf dem Windows Server 2008 bekomme ich allerdings die Fehlermeldung

"Die SaveAs-Eigenschaft des Workbook-Objektes kann nicht zugeordnet werden" sobald ich eben die SaveAs-Methode des Workbookobjektes ausführe.

Auch wenn das jetzt hier PHP-Code ist, so ist vielleicht doch schon mal jemand in einer anderen Programmiersprache, wie z.b. C#, dieses Problem begegnet?

$exapp = new COM("Excel.Application") or Die ("Did not connect");
$wkb = $exapp->Workbooks->Add();
$exapp->Application->Visible = 1;
$sheet=$wkb->Worksheets(1);
$sheet->activate;
$sheet->Name="Control";
$strPath = "C:/xampp/htdocs/Control.xls";
if (file_exists($strPath)) {unlink($strPath);}
[B]$wkb->SaveAs($strPath);[/B]
$wkb->Close(false);
unset($sheet);[/PHP]

gibt es eine Einstellung in der php.ini die mir da weiter helfen könnte?

Oder vielleicht noch eine versteckte COM-Einstellung?

Oder einen Registryeintrag der dafür nötig ist?

Bei Windows habe ich unter [b]Verwaltung->Komponentendienst->Computer->Arbeitsplatz->DCOM->Microsoft Excel-Anwendung->Eigenschaften[/b] folgende Einstellungen:

Reiter [b]"Allgemein"[/b]: Authentifizierungsebene Standard (keine ebenfalls ausprobiert)

Reiter [b]"Ort"[/b]: Anwendung auf diesem Computer ausführen angewählt

Reiter "[b]Sicherheit[/b]": Jegliche Radiobuttons stehen auf Anpassen und bei allen ist der [b]Benutzer "Jeder"[/b] mit [b]allen Rechten[/b] zugewiesen

Reiter "[b]Identität[/b]": alle Optionen durchprobiert. Als [b]Benutzer "Administrator"[/b] und Benutzer in [b]Gruppe "Administratoren"[/b] ausprobiert

Der [b]Apache-Dienst[/b] lief sowohl unter dem [b]Systemkonto [/b]wie auch unter dem [b]Administratorkonto.[/b]

Das [b]Verzeichnis[/b] in dem die Exceldatei abgelegt werden soll hat ebenfalls [b]für "Jeder" alle Berechtigungen[/b]

Verwendet habe ich Excel XP, 2000, 2007 und sogar die 2010 Beta

Schon mal Danke für jede Hilfe.

Falls es noch jemanden weiterhilft ist hier ein Auszug aus dem Win-Sicherheitsprotokoll dazu:

Protokollname: Security

Quelle: Microsoft-Windows-Security-Auditing

Datum: 24.11.2009 16:23:11

Ereignis-ID: 4672

Aufgabenkategorie:Spezielle Anmeldung

Ebene: Informationen

Schlüsselwörter:Überwachung erfolgreich

Benutzer: Nicht zutreffend

Computer: www.xyserver.xy

Beschreibung:

Einer neuen Anmeldung wurden besondere Rechte zugewiesen.

Antragsteller:

Sicherheits-ID: DOMAINXY\Administrator

Kontoname: Administrator

Kontodomäne: DOMAINXY

Anmelde-ID: 0x58de4f

Berechtigungen: SeSecurityPrivilege

SeTakeOwnershipPrivilege

SeLoadDriverPrivilege

SeBackupPrivilege

SeRestorePrivilege

SeDebugPrivilege

SeSystemEnvironmentPrivilege

SeImpersonatePrivilege

Ereignis-XML:

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">

<System>

<Provider Name="Microsoft-Windows-Security-Auditing" Guid="{54849625-5478-4994-a5ba-3e3b0328c30d}" />

<EventID>4672</EventID>

<Version>0</Version>

<Level>0</Level>

<Task>12548</Task>

<Opcode>0</Opcode>

<Keywords>0x8020000000000000</Keywords>

<TimeCreated SystemTime="2009-11-24T15:23:11.856Z" />

<EventRecordID>10784</EventRecordID>

<Correlation />

<Execution ProcessID="624" ThreadID="756" />

<Channel>Security</Channel>

<Computer>www.xyserver.xy</Computer>

<Security />

</System>

<EventData>

<Data Name="SubjectUserSid">S-1-5-21-2173923565-2097233172-1319381462-500</Data>

<Data Name="SubjectUserName">Administrator</Data>

<Data Name="SubjectDomainName">DOMAINXY</Data>

<Data Name="SubjectLogonId">0x58de4f</Data>

<Data Name="PrivilegeList">SeSecurityPrivilege

SeTakeOwnershipPrivilege

SeLoadDriverPrivilege

SeBackupPrivilege

SeRestorePrivilege

SeDebugPrivilege

SeSystemEnvironmentPrivilege

SeImpersonatePrivilege</Data>

</EventData>

</Event>

Protokollname: Security

Quelle: Microsoft-Windows-Security-Auditing

Datum: 24.11.2009 16:23:11

Ereignis-ID: 4624

Aufgabenkategorie:Anmelden

Ebene: Informationen

Schlüsselwörter:Überwachung erfolgreich

Benutzer: Nicht zutreffend

Computer: www.xyserver.xy

Beschreibung:

Ein Konto wurde erfolgreich angemeldet.

Antragsteller:

Sicherheits-ID: SYSTEM

Kontoname: DOMAINXY$

Kontodomäne: WORKGROUP

Anmelde-ID: 0x3e7

Anmeldetyp: 4

Neue Anmeldung:

Sicherheits-ID: DOMAINXY\Administrator

Kontoname: Administrator

Kontodomäne: DOMAINXY

Anmelde-ID: 0x58de4f

Anmelde-GUID: {00000000-0000-0000-0000-000000000000}

Prozessinformationen:

Prozess-ID: 0x30c

Prozessname: C:\Windows\System32\svchost.exe

Netzwerkinformationen:

Arbeitsstationsname: DOMAINXY

Quellnetzwerkadresse: -

Quellport: -

Detaillierte Authentifizierungsinformationen:

Anmeldeprozess: Advapi

Authentifizierungspaket: Negotiate

Übertragene Dienste: -

Paketname (nur NTLM): -

Schlüssellänge: 0

Dieses Ereignis wird beim Erstellen einer Anmeldesitzung generiert. Es wird auf dem Computer generiert, auf den zugegriffen wurde.

Die Antragstellerfelder geben das Konto auf dem lokalen System an, von dem die Anmeldung angefordert wurde. Dies ist meistens ein Dienst wie der Serverdienst oder ein lokaler Prozess wie "Winlogon.exe" oder "Services.exe".

Das Anmeldetypfeld gibt den jeweiligen Anmeldetyp an. Die häufigsten Typen sind 2 (interaktiv) und 3 (Netzwerk).

Die Felder für die neue Anmeldung geben das Konto an, für das die Anmeldung erstellt wurde, d. h. das angemeldete Konto.

Die Netzwerkfelder geben die Quelle einer Remoteanmeldeanforderung an. der Arbeitsstationsname ist nicht immer verfügbar und kann in manchen Fällen leer bleiben.

Die Felder für die Authentifizierungsinformationen enthalten detaillierte Informationen zu dieser speziellen Anmeldeanforderung.

- Die Anmelde-GUID ist ein eindeutiger Bezeichner, der verwendet werden kann, um dieses Ereignis mit einem KDC-Ereignis zu korrelieren.

- Die übertragenen Dienste geben an, welche Zwischendienste an der Anmeldeanforderung beteiligt waren.

- Der Paketname gibt das in den NTLM-Protokollen verwendete Unterprotokoll an.

- Die Schlüssellänge gibt die Länge des generierten Sitzungsschlüssels an. Wenn kein Sitzungsschlüssel angefordert wurde, ist dieser Wert 0.

Ereignis-XML:

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">

<System>

<Provider Name="Microsoft-Windows-Security-Auditing" Guid="{54849625-5478-4994-a5ba-3e3b0328c30d}" />

<EventID>4624</EventID>

<Version>0</Version>

<Level>0</Level>

<Task>12544</Task>

<Opcode>0</Opcode>

<Keywords>0x8020000000000000</Keywords>

<TimeCreated SystemTime="2009-11-24T15:23:11.856Z" />

<EventRecordID>10783</EventRecordID>

<Correlation />

<Execution ProcessID="624" ThreadID="756" />

<Channel>Security</Channel>

<Computer>www.xyserver.xy</Computer>

<Security />

</System>

<EventData>

<Data Name="SubjectUserSid">S-1-5-18</Data>

<Data Name="SubjectUserName">DOMAINXY$</Data>

<Data Name="SubjectDomainName">WORKGROUP</Data>

<Data Name="SubjectLogonId">0x3e7</Data>

<Data Name="TargetUserSid">S-1-5-21-2173923565-2097233172-1319381462-500</Data>

<Data Name="TargetUserName">Administrator</Data>

<Data Name="TargetDomainName">DOMAINXY</Data>

<Data Name="TargetLogonId">0x58de4f</Data>

<Data Name="LogonType">4</Data>

<Data Name="LogonProcessName">Advapi </Data>

<Data Name="AuthenticationPackageName">Negotiate</Data>

<Data Name="WorkstationName">DOMAINXY</Data>

<Data Name="LogonGuid">{00000000-0000-0000-0000-000000000000}</Data>

<Data Name="TransmittedServices">-</Data>

<Data Name="LmPackageName">-</Data>

<Data Name="KeyLength">0</Data>

<Data Name="ProcessId">0x30c</Data>

<Data Name="ProcessName">C:\Windows\System32\svchost.exe</Data>

<Data Name="IpAddress">-</Data>

<Data Name="IpPort">-</Data>

</EventData>

</Event>

Protokollname: Security

Quelle: Microsoft-Windows-Security-Auditing

Datum: 24.11.2009 16:23:11

Ereignis-ID: 4648

Aufgabenkategorie:Anmelden

Ebene: Informationen

Schlüsselwörter:Überwachung erfolgreich

Benutzer: Nicht zutreffend

Computer: www.xyserver.xy

Beschreibung:

Anmeldeversuch mit expliziten Anmeldeinformationen.

Antragsteller:

Sicherheits-ID: SYSTEM

Kontoname: DOMAINXY$

Kontodomäne: WORKGROUP

Anmelde-ID: 0x3e7

Anmelde-GUID: {00000000-0000-0000-0000-000000000000}

Konto, dessen Anmeldeinformationen verwendet wurden:

Kontoname: Administrator

Kontodomäne: DOMAINXY

Anmelde-GUID: {00000000-0000-0000-0000-000000000000}

Zielserver:

Zielservername: localhost

Weitere Informationen: localhost

Prozessinformationen:

Prozess-ID: 0x30c

Prozessname: C:\Windows\System32\svchost.exe

Netzwerkinformationen:

Netzwerkadresse: -

Port: -

Dieses Ereignis wird bei einem Anmeldeversuch durch einen Prozess generiert, wenn ausdrücklich die Anmeldeinformationen des Kontos angegeben werden. Dies ist normalerweise der Fall in Batch-Konfigurationen, z. B. bei geplanten Aufgaben oder wenn der Befehl "runas" verwendet wird.

.....

Protokollname: Security

Quelle: Microsoft-Windows-Security-Auditing

Datum: 24.11.2009 16:23:11

Ereignis-ID: 4634

Aufgabenkategorie:Abmelden

Ebene: Informationen

Schlüsselwörter:Überwachung erfolgreich

Benutzer: Nicht zutreffend

Computer: www.xyserver.xy

Beschreibung:

Ein Konto wurde abgemeldet.

Antragsteller:

Sicherheits-ID: DOMAINXY\Administrator

Kontoname: Administrator

Kontodomäne: DOMAINXY

Anmelde-ID: 0x58de4f

Anmeldetyp: 4

...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...