Apache ユーティリティの lib パスを設定するにはどうすればいいですか?

Apache ユーティリティの lib パスを設定するにはどうすればいいですか?

apxsパッケージと一緒にbinをインストールしましたhttpd24-httpd-devel-2.4.6-16.el6.x86_64

Apache モジュールを使用して PHP をコンパイルするために必要です。

コマンドを起動すると、 apxs --help次のエラーが発生します。

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

このファイルを に配置しますが/opt/rh/httpd24/root/usr/lib64/httpd/build/、このフォルダーを PATH に追加する必要がありますか? または、Apache にこのディレクトリを参照するように指示する方法はありますか?

答え1

これは SCL パッケージ httpd24-httpd-devel の問題です。標準の CentOS/RedHat rpm にはすでにバグがありましたが、修正されました。

apxs は Perl スクリプトなので、その内部を見ると、次のコードが関係しています。

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

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

また、$installbuilddir 変数を次のように変更することもできます。

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

必ず、元のバージョン (/usr/sbin/apxs) ではなく、/opt/rh/httpd24/root/usr/bin/apxs にある httpd24 apxs を変更してください。

apxs を変更したくない場合は、次の簡単な修正も機能します。

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

答え2

sudo make install内部から実行していますかscl enable httpd24 bash? これにより、$PATH がデフォルトにリセットされます。代わりに、以下を実行する必要があります。

sudo scl enable httpd24 perl516 'make install'

関連情報