Wie konfiguriere ich den Bibliothekspfad für Apache-Dienstprogramme?

Wie konfiguriere ich den Bibliothekspfad für Apache-Dienstprogramme?

Ich habe apxsBin gerade mit dem httpd24-httpd-devel-2.4.6-16.el6.x86_64Paket installiert.

Ich brauche es, um PHP mit dem Apache-Modul zu kompilieren.

Wenn ich den Befehl starte, apxs --helperhalte ich die folgende Fehlermeldung:

cannot open /httpd/build/config_vars.mk: No such file or directory at /opt/rh/httpd24/root/usr/bin/apxs line 214

Ich finde diese Datei in /opt/rh/httpd24/root/usr/lib64/httpd/build/. Soll ich diesen Ordner zu meinem PATH hinzufügen oder gibt es eine Möglichkeit, Apache anzuweisen, dieses Verzeichnis zu durchsuchen?

Antwort1

Dies ist das Problem mit dem SCL-Paket httpd24-httpd-devel. Es gab bereits einen Fehler für das Standard-CentOS/RedHat-RPM, der behoben wurde.

Da es sich bei apxs um ein Perl-Skript handelt, ist bei einem Blick ins Innere der verantwortliche Code folgender:

my $libdir = `pkg-config --variable=libdir apr-1`;
chomp $libdir;

my $installbuilddir = $libdir . "/httpd/build";

Sie können auch die Variable $installbuilddir wie folgt ändern:

my $installbuilddir = '/opt/rh/httpd24/root/usr/lib64' . "/httpd/build";

Stellen Sie einfach sicher, dass Sie die httpd24-APXs ändern, die unter /opt/rh/httpd24/root/usr/bin/apxs verfügbar sind, und nicht die ursprünglichen (/usr/sbin/apxs).

Wenn Sie APXS nicht ändern möchten, funktioniert auch diese schnelle Lösung:

cd /
ln -s /opt/rh/httpd24/root/usr/lib64/httpd .

Antwort2

Tun Sie sudo make installdas innerhalb eines scl enable httpd24 bash? Dadurch wird $PATH auf den Standardwert zurückgesetzt. Sie müssen stattdessen Folgendes tun:

sudo scl enable httpd24 perl516 'make install'

verwandte Informationen