2014-02-20 6 views
7

Ich habe Symfony auf localhost unter CentOS unter VMware Player installiert. (Windows 7, 32 Bit) Meine PHP-Version ist 5.3.3. CentOS ist 6,5. VMware Player ist 6.0.1.Symfony app_dev.php install DOMDomain Fehler

Wenn ich versuche, mit localhost/Symfony/web/app_dev.php zu verbinden bekomme ich folgende Fehler

ClassNotFoundException: Versuchte Klasse "DOMDocument" aus dem globalen Namensraum in /var/www/html/Symfony/Verkäufer/symfony zu laden /symfony/src/Symfony/Component/Config/Util/XmlUtils.php Linie 47.

Haben Sie eine Verwendungserklärung für diese Klasse vergessen?

Linie 47 ist

$dom = new \DOMDocument(); 

I 102 Treffer, wenn ich "DOMDocument" grep.

Die meisten Treffer anzeigen

$dom = new \DOMDocument(); 

oder

$dom = new DOMDocument(); 

ich Symfony zuvor installiert war auf einem externen Server das gleiche Skript folgenden und konnte app_dev.php problemlos trainieren. (FreeBSD)

Was ist der Unterschied zwischen new \DOMDocument(); und . Ich bin ein JavaScript und PHP Anfänger. Weiß jemand, was ich tun soll, um das zu korrigieren? oder ein paar Hinweise, wie man Probleme macht?

+0

auf FreeBSD, wird die Erweiterung php70-dom (für php7) –

Antwort

3

Der Backslash (new \DomDocument()) ist erforderlich, wenn Sie eine Klasse aus dem globalen Namensraum aus in einem anderen Namensraum geladen werden. Mit anderen Worten, wenn Sie namespace <something> oben in Ihrer Datei verwendet haben, müssen Sie new \DomDocument() verwenden, um DomDocument aus dem globalen Namespace zu laden. Wenn Sie sich im globalen Namespace befinden (der Standardwert, wenn Sie keinen Namespace explizit deklariert haben), können Sie direkt new DomDocument() verwenden.

Wenn Sie den Fehler sowohl mit dem Backslash als auch ohne es erhalten, liegt es daran, dass Sie eine PHP-Erweiterung vermissen: php-xml. Füge einfach extension=dom.so zu deiner php.ini hinzu. Die Erweiterung ist standardmäßig mit PHP gebündelt.

Führen Sie web/config.php aus, um zu überprüfen, was fehlt.

+0

Hallo Pedro genannt. Danke für die schnelle Antwort. Ich werde Thay ändern und es erneut versuchen. Vielen Dank. – user3334360

+0

Hallo Pedro. Ich habe die Änderung an /etc/php.ini vorgenommen. Ich habe die Zeile "extension = dom.so" ganz oben in der .ini-Datei platziert, gespeichert und CentOS neu gebootet. Ich bekomme immer noch den gleichen Fehler. Irgendwelche anderen Vorschläge ? Grüße, Lorne – user3334360

+0

Ich habe auch die config.php ausgeführt. Ein Vorschlag ist ein Upgrade auf PHP 5.3.4 oder höher. Könnte das mein Problem sein? Grüße, Lorne. – user3334360

11

Laufen yum installieren php-xml auf CentOS 6.5 löste das Problem für mich.

+0

Dies ist die richtige Antwort und wird als solche gekennzeichnet. – Halfstop

+0

Mein Problem mit einer klaren Installation auf Linux Mint gelöst (mit apt-get anstelle von yum) – CarlosAS

Verwandte Themen