回答:
/ usr / lib64 / php / modulesをIDのあるフォルダーへのシンボリックリンクにすることをお勧めします。これにより、長期的には異なるバージョンのPHPの拡張機能が混在するのを防ぐことができます。
その上:EXTENSION_DIR
PHPのconfigureを実行する前に、環境変数として設定することで設定できるはずです。何かのようなもの
$ EXTENSION_DIR=/my/location ./configure --with-some-extension
私の問題は同じではありませんでしたが、この質問は、最終的に非常に役立つ回答が最初に表示されたので、コメントを追加します。
ビルド済みのバイナリを使用していて、何もコンパイルしていませんが、ディレクトリ構成が原因で、PHP(Dockerコンテナで実行されているCentos7)でMySQLを使用するのに問題がありました。さまざまなpdoおよびmysqlnd.soモジュールと.iniファイルがコンテナーにインストールされましたが(標準yum install php72
およびPHPインストールウィザードで指定された他のすべてのものを使用するだけです)、PHPがそれらを探していたデフォルトの場所にはありませんでした。なぜか分かりません。多分それはある種の港湾労働者のことですか?
とにかく、問題を解決するためにextension_dir
ディレクティブをエコーしPHP.ini
、PHP_INI_SCAN_DIR
環境変数を設定する必要もありました。これらは私のDockerfileからの関連するコマンドです
ENV PHP_INI_SCAN_DIR=/etc/php.d/
RUN echo 'extension_dir = "/usr/lib64/php/modules"' >> /etc/opt/remi/php72/php.ini
@johanesが警告するように、これが原因で後でモジュールの競合が発生しないことを願っています。
yum update
でした。ここで何か不足していますか?
.../remi/...
フォルダーに入らないという私の問題が修正されると言ってい ますか?
EXTENSION_DIR=/usr/lib64/php/modules phpize
。