この記事は Xiuyi Linfeng のご厚意により後援されており、Lundi Xingtianxia に初めて掲載されました。
apache の php サポートは、nginx とは異なり、Apache の mod_php5 モジュールを通じてサポートされています。 nginx は、サードパーティの fastcgi プロセッサを通じて PHP を解析できます。nginx と PHP の統合については、「Mud: PHP5.6 ソース コードのインストールと php-fpm 構成と nginx の統合」を参照してください。
ソース コードから PHP をコンパイルしてインストールする場合は、コンパイル中に --with-apxs2=/usr/local/apache2/bin/apxs を指定して、Apache の mod_php5 モジュールを通じて PHP の解析を行うようにコンパイラーに指示する必要があります。
同時に、PHP インストールの最後のステップである make install で、ダイナミック リンク ライブラリ libphp5.so が Apache2 インストール ディレクトリの modules ディレクトリにコピーされることがわかります。また、LoadModule ステートメントを追加する必要もあります。 httpd.conf 設定ファイルに動的に追加する libphp5.so モジュールは、Apache の php サポートを実装するためにロードされます。 PHPとApacheの統合には、libiconvライブラリのインストールが必要です
libiconv ライブラリは、ある文字エンコーディングを別の文字エンコーディングに変換する必要があるアプリケーションに iconv コマンドを提供します。たとえば、UTF8 エンコーディングを GB18030 エンコーディングに、またはその逆に変換できます。
PHP を Apache と統合するときは必ず libiconv ライブラリをインストールしてください。そうしないと、システムは make 中にエラーを報告します。エラーメッセージは次のとおりです:
make: *** [sapi/cli/php] Error 1
/usr/bin/ld:Cannot find -liconv
collect2: ld returns 1 exit status
make: * ** [ sapi/cli/php] エラー 1
次に、libiconv ライブラリの正式なインストールを開始します。まず、次のように libiconv ライブラリをダウンロードします。
wget http://ftp.gnu.org/pub/ gnu/libiconv/libiconv-1.14. tar.gz
次のように libiconv ライブラリを解凍します:
tar -xf libiconv-1.14.tar.gz
libiconv ライブラリをインストールし、最初にインストール ヘルプを確認します。情報。以下のように:
./configure --help
上の図のヘルプから、libiconv ライブラリのデフォルトのインストール パスが /usr/local であることがわかります。次に、次のように libiconv ライブラリのインストールを開始します:
./configure --prefix=/usr/local
make && make install
libiconv ライブラリのインストール後、 /usr/local/lib ライブラリ /etc/ld.so.conf ファイルに追加し、/sbin/ldconfig を使用して有効にします。以下のように:
echo "/usr/local/lib">>/etc/ld.so.conf
/sbin/ldconfig
この手順を実行していない場合は、インストール時に make install を実行してください。 php を実行すると、システムはエラーを報告します。エラー メッセージは次のとおりです:
/root/php-5.6.2/sapi/cli/php: 共有ライブラリのロード中にエラーが発生しました: libiconv.so.2: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません
2. php ソースコードのインストール
php ソースコードのインストールについては、「Mud: php5.6 ソースコードのインストールと php-fpm 設定と nginx の統合」の記事を参照してください。 次のように php コマンドをダウンロードしてコンパイルします。 wget http://mirrors.sohu.com/ php/php-5.6.2.tar.gz
./configure --enable-fpm --enable-mbstring --with-mysql=/usr/local/mysql - -with-iconv-dir=/usr/local --with-apxs2=/usr/local/apache2/bin/apxs
上記のコマンドの --enable-fpm の機能は次のとおりであることに注意してください。 phpのfastcgi機能を有効にする、つまりphp-fpm機能を有効にする。 --with-mysql=/usr/local/mysql は、PHP が mysql をサポートできるようにするもので、/usr/local/mysql は mysql データベースのインストール パスです。
--enable-mbstring は、mbstring モジュールを有効にすることを意味します。mbstring モジュールの主な機能は、エンコーディングを検出して変換し、マルチバイト操作に対応する文字列関数を提供することです。現在、PHP の内部エンコーディングは ISO-8859-*、EUC-JP、UTF-8 のみをサポートしています。他のエンコーディング言語は PHP プログラム上で正しく表示できないため、mbstring モジュールを有効にする必要があります。
--with-iconv-dir=/usr/local は、php が libiconv ライブラリを保存する場所を指定します。
--with-apxs2=/usr/local/apache2/bin/apxs は、php が Apache を検索する場所を指定します。
コンパイルが完了したら、もう一度作りましょう。作成する際に注意するのは、-liconvパラメータを追加することです。 -liconv パラメータが追加されていない場合、システムは make コンパイル中にエラーを報告します。エラー メッセージは次のとおりです:
phar.php の生成php-5.3.16/sapi/cli/php: 共有ライブラリのロード中にエラーが発生しました: libiconv.so.2: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません
使用方法 コマンドは次のとおりです:
make ZEND_EXTRA_LIBS='-liconv'
Makefile を変更して、ZEND_EXTRA_LIBS 行に -liconv を追加することもできます。以下の通り:
vi Makefile
make install
上の図から、Apache 設定ファイル httpd で PHP サポートが有効になっており、libphp5.so ファイルがApacheのモジュールディレクトリにもコピーされます。
3.
php をサポートするように Apache を設定するphp がインストールされたら、php をサポートするように Apache の設定ファイル httpd.conf を変更できます。
次の 2 行のコードを httpd.conf ファイルに追加するだけです:
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php
LoadModule php5_module modules/libphp5 であることに注意してください。 .それで、httpd.conf ファイルを見ると、この行がすでに存在していることがわかります。これはphpのインストール時に追加されたものであるためです。ここで、AddType application/x-httpd-php .php 行を追加するだけです。
vi /usr/local/apache2/conf/httpd.conf
さらに、Apache のデフォルトのホームページ ファイルを変更し、index.php を追加する必要もあります。内容は以下の通りです:
echo "">/usr/local/apache2/htdocs/index.php
cat /usr/local/apache2/htdocs/index。 php
IV. php
をテストします上記の変更が完了したら、Apache を再起動し、次のコマンドを使用します:
/etc/init.d/httpdグレースフル
このコマンドは、Apache を正常に再起動することができることに注意してください。
次のようにサイトを開きます:
上の図から、Apache がすでに php をサポートしていることがはっきりとわかります。