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?
[PHP]$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);}
$wkb->SaveAs($strPath);
$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 Verwaltung->Komponentendienst->Computer->Arbeitsplatz->DCOM->Microsoft Excel-Anwendung->Eigenschaften folgende Einstellungen:
Reiter „Allgemein“: Authentifizierungsebene Standard (keine ebenfalls ausprobiert)
Reiter „Ort“: Anwendung auf diesem Computer ausführen angewählt
Reiter „Sicherheit“: Jegliche Radiobuttons stehen auf Anpassen und bei allen ist der Benutzer „Jeder“ mit allen Rechten zugewiesen
Reiter „Identität“: alle Optionen durchprobiert. Als Benutzer „Administrator“ und Benutzer in Gruppe „Administratoren“ ausprobiert
Der Apache-Dienst lief sowohl unter dem Systemkonto wie auch unter dem Administratorkonto.
Das Verzeichnis in dem die Exceldatei abgelegt werden soll hat ebenfalls für „Jeder“ alle Berechtigungen
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:
[QUOTE]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: [url]www.xyserver.xy[/url]
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:
4672001254800x802000000000000010784Securitywww.xyserver.xyS-1-5-21-2173923565-2097233172-1319381462-500AdministratorDOMAINXY0x58de4fSeSecurityPrivilege
SeTakeOwnershipPrivilege
SeLoadDriverPrivilege
SeBackupPrivilege
SeRestorePrivilege
SeDebugPrivilege
SeSystemEnvironmentPrivilege
SeImpersonatePrivilege
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: [url]www.xyserver.xy[/url]
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:
4624001254400x802000000000000010783Securitywww.xyserver.xyS-1-5-18DOMAINXY$WORKGROUP0x3e7S-1-5-21-2173923565-2097233172-1319381462-500AdministratorDOMAINXY0x58de4f4Advapi NegotiateDOMAINXY{00000000-0000-0000-0000-000000000000}–00x30cC:\Windows\System32\svchost.exe–
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: [url]www.xyserver.xy[/url]
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: [url]www.xyserver.xy[/url]
Beschreibung:
Ein Konto wurde abgemeldet.
Antragsteller:
Sicherheits-ID: DOMAINXY\Administrator
Kontoname: Administrator
Kontodomäne: DOMAINXY
Anmelde-ID: 0x58de4f
Anmeldetyp: 4
…[/QUOTE]