Web 環境を構成するとき、既存の要件に基づいて構成される場合がありますが、コンパイルされた環境は現在のニーズのみを満たします。
しかし、後の期間では、ビジネスが発展したり、アーキテクチャがアップグレードされたりするため、いくつかの新しい PHP 拡張機能が必要になります。この時点で、PHP 拡張機能を動的にコンパイルします。
今日、仮想ホストを再構成し、新しいフレームワークを実行して、fileinfo が存在しないことを報告し、PHP のアップグレード時に fileinfo が無効になっていることが検出されたため、fileinfo 拡張子を動的にコンパイルする必要があります。
その方法は実はとても簡単です!
1. まず、必要な拡張機能が利用可能かどうか、および PHP のバージョンを確認します。
fileinfo を例に挙げます
/usr/bin/php -i|grep fileinfo
fileinfo fileinfo support => Enabled が表示される場合は、fileinfo 拡張子が利用可能であることを意味します。それ以外の場合は、利用できないことを意味します。
PHP バージョンを確認します:
/usr/bin/php --version
結果は次のようになります:
PHP 5.6.19 (cli) (ビルド: Mar 3 2016 07:57:20)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.0、著作権 (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev、著作権 (c) 1999-2016、Xdebug v2.4.0 による Zend Technologies
、著作権 (c) 2002-2016 、Derick Rethans 著
2. PHP ソース コードを見つけます
そうでない場合は、まず現在の環境のバージョン番号をダウンロードしてください。ソース コードは既にローカルに存在します。ソース コード ディレクトリに切り替えてください。
cd /root/soft/php-5.6.19/ext
ext は、PHP 拡張機能を含む PHP の下の拡張ディレクトリです
3. 拡張機能を動的にコンパイルする方法、例として fileinfo 拡張子を取り上げます
cd fileinfo/usr/local/php/bin/phpize ----给PHP动态添加扩展命令,在php的bin目录下./configure -with-php-config=/usr/local/php/bin/php-configmake && make install
4. php.ini に拡張機能名を追加します
vi /etc/php.iniextension=fileinfo.so --添加扩展名称
他の拡張機能も同様です