.. index:: php_5.3.18 php_5.3.18 ============= .. contents:: Contents =========== 実行環境 =========== :ref:`centos_6.3` =========== 最終検証日 =========== |today| =========== 依存関係 =========== * :doc:`../../library/libxml2/index` =========== コンパイル =========== .. note:: ところどころにexitコードが含まれるため、シェルスクリプトとして実行することを推奨します .. note:: PHPはDBやWEBサーバと連携することが多いので必要に応じてかならずコンパイルオプションを指定してください .. code-block:: bash ############################################################ # OSによってパターンが変わります ############################################################ # 管理者権限で実行 su - # case by CentOS sudo su # case by ubuntu ############################################################ # 以降の手順は基本的に同じです。 ############################################################ # ソースダウンロード先 comp_dir=/usr/local/src # パッケージ名 pack_name=php # バージョン version=-5.3.18 # ソースのファイル形式 ext=.tar.bz2 # tar解凍時のオプション ext_opt=j # インストール先ディレクトリ ins_dir=/opt/${pack_name}${version} # ダウンロード元パッケージ dl_uri=http://jp2.php.net/get/php-5.3.18.tar.bz2/from/jp1.php.net/mirror cd ${comp_dir} rm -rf ${pack_name}${version} test -f ${pack_name}${version}${ext} \ || wget ${dl_uri} -O ${pack_name}${version}${ext} tar ${ext_opt}xf ${pack_name}${version}${ext} cd ${pack_name}${version} ./configure \ --prefix=${ins_dir} \ --enable-mbstring \ && make -j 2 || exit 1 make install || exit 1 ================ Pathの設定 ================ .. code-block:: bash test -r ~/bin || mkdir -p ~/bin for cmd in ${ins_dir}/*bin/* do cmd_name=`basename $cmd` test -f ~/bin/$cmd_name && \rm -f ~/bin/$cmd_name ln -s $cmd ~/bin/$cmd_name echo "ln -s $cmd ~/bin/$cmd_name" done ======================== 主なconfigureオプション ======================== ``--prefix=[DIR]`` インストール先ディレクトリの指定 ``--with-libxml-dir=[DIR]`` libxml2のインストールディレクトリを指定 DOMやxmlパーサに必要 インストールしない場合かなりの機能を制限されます ``--with-apxs2[=DIR]`` Apache2.x系と連携するためのモジュールをコンパイルします デフォルトは/usr/local/apache ex.) --with-apxs2=/path/to/apxs ``--with-mysql[=DIR]`` MySQLと連携する場合は必須 ``--enable-fpm`` nginxと連携させる場合に必要 ``--with-curl=[DIR]`` cURLを使用する場合に指定が必要 =========== Apache連携 =========== | configureのオプションに ``--with-apxs2[=DIR]`` を付けてコンパイルします。 | 既にhttpd.confにはphpのモジュールを読み込むように設定されていますので、拡張子とPHPの実行を結びつけます。 .. code-block:: text AddHandler application/x-httpd-php .php