Apache lädt PHP-Modul - undefiniertes Symbol: unixd_config

3

Ich konfiguriere einen neuen Webserver auf einem RedHat 6.5.

Ich versuche, das php5Modul unter Apache 2.4.6 wie folgt zu aktivieren :

LoadModule php5_module /usr/path/to/libphp5.so
AddType application/x-httpd-php .php

Wenn ich die httpd.confDatei mit Apache überprüfe, erhalte ich folgende Fehlermeldung bezüglich der LoadModuleZeile:

Cannot load /usr/path/to/libphp5.so into server: /usr/path/to/libphp5.so: undefined symbol: unixd_config

Ich frage mich, ob das Problem daran liegt, dass ich zwei PHP-Versionen installiert habe. Der eine, den Apache verwenden sollte, ist der Alias php55. Was ist die Konfiguration dafür?

Fractaliste
quelle

Antworten:

3

Die Apache-API wurde von 2.2 auf 2.4 geändert, unixd_config wurde in ap_unixd_config umbenannt (siehe Änderungen an der API von 2.2 auf 2.4 ). Sie benötigen eine PHP-Modul-Version, die mit Apache 2.4 kompatibel ist, oder bleiben Sie bei Apache 2.2.

Zimmi
quelle
Und woher bekomme ich die gute Modulversion?
Fractaliste
Sicher ist, dass die richtigen Versionen in Red Hat-Paketen verfügbar sind, leider kann ich Ihnen nicht weiterhelfen (ich bin immer bei Debian). Wenn Sie Standardpakete installieren, sollten Sie in Ordnung sein.
Zimmi
@Zimm Ich habe das gleiche Problem in debian7, php 5.6 und apache2.4.10, aber immer noch das gleiche Problem. Kannst du mir sagen, wie ich es lösen soll?
Nullpointer
0

Zum Schluss benutze ich:

<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>
PHPIniDir "/path/to/php/lib"

Und ich baue libphp5.soselbst.

Fractaliste
quelle
0

Der richtige Ansatz besteht darin, das folgende Paket zu installieren. Ersetzen Sie hier php55 durch Ihre gewünschte Version. Die Software wird aus der RH Software Collection abgerufen. Dieses Paket enthält das Modul (oft als mod_php bezeichnet), das Apache 2.4 mit PHP unterstützt

yum install rh-php55-php

Dejan
quelle