Wie kann ich --enable-dom ohne PHP neu kompilieren?

9

Vom Ausgang phpinfo(), --disable-domsind den configure - Befehl enthalten. Wie ändere ich es, --enable-domohne PHP neu zu kompilieren?

Bearbeiten : Ich verwende Fedora 10. Das PHP, das ich verwende, ist das mitgelieferte.

Randell
quelle

Antworten:

12

Installieren Sie einfach das Paket mit dem Namen php-xml , das die Unterstützung von php-dom bietet .

Eine Liste der Downloads finden Sie unter http://rpm.pbone.net/index.php3/stat/4/idpl/10503222/com/php-xml-5.2.6-5.i386.rpm.html

Stellen Sie sicher, dass Sie die Konfigurationen anpassen, um die Module tatsächlich zu laden:

/etc/php.d/dom.ini
/etc/php.d/xmlreader.ini
/etc/php.d/xmlwriter.ini
/etc/php.d/xsl.ini

und Apache neu starten.

drAlberT
quelle
Es sieht so aus, als ob die Installation von php-xml den Trick für dompdf macht. Es wird jetzt das PDF erstellt, aber der Fehler ist immer noch vorhanden.
Randell
Bitte bearbeiten Sie Ihren Beitrag und fügen Sie eine Ausgabe hinzu. Geben Sie den Fehler an, den Sie erhalten haben.
drAlberT
Sind Sie sicher, dass Sie die Erweiterung in Ihre php.ini geladen und auch Apache neu gestartet haben?
drAlberT
Ich erhalte den gleichen Fehler, aber das PDF wird gerade erstellt. Ich habe php.ini noch nicht geändert. Welche Erweiterung muss ich in php.ini laden?
Randell
1
Für alle, die darauf stoßen und das IUS-Paket php53 installiert haben, würden Sie php53-xml installieren.
Jon Haddad
3

Sie können nicht - dies sind Optionen zur Kompilierungszeit.

Es sei denn, Sie finden eine andere vorkompilierte PHP-Distribution, die mit Ihrem Setup kompatibel ist (auf die Sie in Ihrer Frage nicht näher eingehen).

Sofern die gesuchten Funktionen natürlich nicht auch auf andere Weise implementiert sind, sagen wir eine Reihe von Funktionen in einer PHP-Skriptdatei, die Sie include()in Ihre Skripte einfügen können .

David Spillett
quelle
2
Sie können einfach ein Paket durchsuchen, das es als freigegebenes Objekt bereitstellt. Jede moderne Distribution hat ein solches Paket für eine große Anzahl von PHP-Erweiterungen.
drAlberT
2

Ich habe php-xml mit YUM (CentOS) installiert.

sudo yum installiere php-xml

Starten Sie Apache neu

sudo service httpd neu starten

Alles funktioniert gut

user1879928
quelle
Beachten Sie, dass Sie, wenn Sie PHP 5.3 installiert haben, möglicherweise Folgendes verwenden müssen:sudo yum install php53-xml
Matt Browne
In meinem Fall gab es auch ein Problem damit, dass die php-commonAbhängigkeit nicht erfüllt wurde (falsche Version, denke ich?). Die folgenden Befehle haben es behoben:$ rpm -e --nodeps php-common # warning: /etc/php.ini saved as /etc/php.ini.rpmsave $ yum install php53-xml # restore the original php.ini $ cp /etc/php.ini.rpmsave /etc/php.ini
Matt Browne
0

Sie können das SRPM für PHP herunterladen. Ändern Sie die Spezifikationsdatei so, dass sie --enable-dom enthält, und erstellen Sie das RPM mithilfe der rpmbuild-Tools neu.

Auf dieser Site finden Sie ein Beispiel für das Patchen und Wiederherstellen eines SRPM.

Wayne
quelle