「PHP プログラミング」第 2 章 PHP のインストール

WBOY
リリース: 2016-06-21 09:02:05
オリジナル
1110 人が閲覧しました

この章では、以下の手順に従って、次のソフトウェアをコンパイルしてインストールします:
* Apache v.1.3 .4 --
世界で最も人気のある Web サーバー。
* gcc v.2.8.1 --
GNUC および C++ コンパイラー。 * MySQL v.3.22.16b-gamma --
世界中の多くの人が使用するデータベース。 * PHP v.3.0.11 --
本書で主に紹介されているソフトウェア。新しいバージョンは、http://www.php.net (またはこのサイトのミラー サイト) から直接ダウンロードして入手できます。この章の他の手順は引き続き適用されます。 * exact --
XML ドキュメントの読み取りと処理のための関数ライブラリ。 * phplib -- セッション管理用の
PHP 関数ライブラリ。 * libiodbc --
は主に、UNIX 以外のコンピュータのデータベースにアクセスするために使用されます ODBC 関数ライブラリ。 * MyODBC -- PHP
iODBC および MySQL 関数間図書館。 それでも、この章ではアプリケーションのコンパイルに必要な手順は紹介せず、簡単に説明するだけです。つまり、この本の焦点は、C 言語ではなく、PHP 言語を紹介することです。各アプリケーションのコンパイルは私にとって非常に明確であり、読者の皆さんも難なくコンパイルできることを願っています。問題が発生した場合は、IRC チャネルで丁寧に質問するか、ニュース グループを使用してみてください (http: / /www.dejanews.comにアクセスして、問題解決のサポートを取得してください。ただし、最も役立つのは、http://www.php.net にある PHP メーリング リストです。
コンパイルプロセスを開始する前に、エラーから回復する方法について説明します。エラーに関するヘルプが表示されたら、次のコマンドを使用してソース ディレクトリを再初期化できます:
* rm config.cache--
ほぼすべて Linux アプリケーションは、configure コマンドを使用して、コンパイル プロセスを調整する方法に関する情報をシステムで確認します。チェックの結果は、config.cache という名前のファイルに保存されます。このファイルを削除すると、構成プログラムはシステムを最初から再チェックすることになります。
* make distclean--
すべて C 言語Linux で書かれていますアプリケーションは、make プログラムを使用してコンパイルされます。 make プログラムは、各ソース ファイルを検索して、コンパイルする必要があるか、すでにコンパイルされているかを確認します。 make distclean コマンドは、"リセット"すべてのソース プログラムを実行できます。それらを再コンパイルします。
* make clean--
一部のアプリケーションは make distclean コマンドをサポートしていません。代わりに make clean を使用してください。置き換えるコマンド。 make cleanコマンド"リセット"すべてのソース プログラムを再コンパイルします。
インストールしたいアプリケーションの一部が上記のすべてのコマンドをサポートしていない場合でも、試してみることは問題ありません。

注: Red Hat v5.2使用 glibc図書館。ユーザーがこの章でインストールされているプログラムをインターネットからダウンロードまたは更新する場合、glibc の情報を知っている必要があります。ユーザーは rpm -q glibc コマンドを使用して、インストールされている glibc ライブラリのバージョン番号を確認できます。著者のシステムでは、rpm -q glibc コマンドを使用すると、glibc-2.0.7.29 が表示されます。

2.1
基本概念
おそらく読者は Linux をこれまでコンパイルしたことがないでしょう アプリケーションでは、問題が発生したときに診断できるようにするための基本的な概念をいくつか紹介します。
tar
tar
、つまり、テープ アーカイバー。複数のファイルを 1 つのファイルに結合でき、選択できます。圧縮するかどうか。このコマンドは従来、データがテープに保存されるようにバックアップに使用されてきました。 tar ファイルが圧縮される場合、tar .gz になります。 🎜>ファイルが圧縮されていない場合、ファイルには .tar という拡張子が付きます。 gcc
gcc
は、GNU 用の C コンパイラーです。その仕事は、人間が理解できるソース コード ファイルを、機械が読み取れるターゲット ファイルにコンパイルすることです。 C通常、ソース ファイルのサフィックス名は .c で、ターゲット ファイルのサフィックス名は通常 .o のサフィックス名。コンパイル作業が正常に続行できない場合は、コンパイル時エラー、つまり構文エラーが発生したことを意味します。ほとんどの場合、不完全なコンパイルは、コンパイラーが 1 つまたは複数のインクルード ファイルを見つけられないことが原因で発生します。含まれるファイルの拡張子は .h で、通常、異なるシステム情報を定義し、複数の異なる .c 情報を結合するために使用されます。ファイルごとにまとめてあります。 make make

は、コンパイルを支援するために一般的に使用されるツール プログラムです。その仕事は、まだコンパイルされていないソース ファイルのみをコンパイルすることです。
.c ファイルをコンパイルすると、.c の場合、.o ファイルが生成されます。このファイルは .o ファイルよりも新しいです。つまり、ソース ファイルは最後のコンパイルの前に編集され、その後 make されています。 .c ファイルを再コンパイルします。 make コマンドは通常、Makefile ファイルを検索します。このファイルには、1 つ以上の実行可能ターゲット (たとえば、make clean は、make にクリーンアップ ターゲットを実行するように指示します。 ld ld
は、
GNU のリンカーです。その役割は、すべてのオブジェクト ファイルとライブラリをリンクして 1 つの実行可能ファイルを作成することです。幸いなことに、Makefile がすべてのコンパイルの詳細を処理するため、基本的にこのプログラムを手動で実行する必要はありません。 ldconfig ldconfig は、複数のライブラリ ディレクトリ (/etc/ld.so.conf で指定) 内の共有ライブラリを検索します。共有ライブラリは複数のアプリケーションで使用されることが多く、ファイル名のどこかに .so が含まれます (例: libqt.so.1.42)は共有ライブラリです。コンパイル後、ディレクトリを /etc/ld.so.conf ファイルに追加し、ldconfig -v を実行する必要がある場合があります。指示。
./configure
configure
は、インストールの種類など、コンピューター内の重要な情報を検索します C コンパイラ、インクルードファイルはどこにあるのかなど。次に、configure は、使用されているコンピューターの構成に従って Makefile ファイルを再変更します。 $PATH 環境変数で誤ってディレクトリを実行しないように、現在のディレクトリでプログラムを実行するには ./configure を使用する必要があります。その他のプログラム。
シンボリックリンク
シンボリック リンクを使用すると、ユーザーは既存のファイルに別の名前を指定できます。たとえば、ユーザーは libqt.so.1.42 libqt.so.1 という名前のファイルを呼び出したいとします。シンボリック リンクを使用すると、基本的に、ユーザーは実際にファイルをコピーせずに、ファイルを別のディレクトリにコピーできます。 2 番目のファイル インスタンスは、単に最初のファイル インスタンスを指します。シンボリック リンクを使用することには少なくとも 2 つの利点があります。1 つ目は、シンボリック リンクがわずか 16 バイトでハードディスクのスペースを節約できることです。2 つ目の点は少し微妙です。まず、libqt.so.1 という名前のシンボリック リンクが libqt.so.1.42 を指していることを見てみましょう。 libqt.so.1.88 にアップグレードする必要がある場合はどうすればよいですか?ユーザーはシンボリックリンクを変更するだけで、libqt.so.1 ではなく libqt.so.1.88 を指すようになります。 libqt.so.1.42 で十分です。これは、libqt.so.1 に関連するプログラムがこのライブラリの新しいバージョンを自動的に使用することを意味します。慣例により、完全なリリース番号にはシンボリック リンクが使用されます。言い換えれば、libqt.so.1.88libqt.so.2.32 には 2 つの異なる動的接続 (それぞれ ) が必要です。 libqt.so.1 および libqt.so.2)。
2.2
コンパイル前の準備
次の手順では、システムをコンパイルできるように準備します。
1. mkdir /usr/local/src --
インストールされたアプリケーションとして /usr/local ツリーを選択します。ルートディレクトリ。その他には、/usr/opt/opt または /var テーブルを使用する場合があります。内容の。この章の手順をより簡単に実行するには、ルート ディレクトリとして /usr/local ディレクトリを選択してください。コンパイルが完了すると、ユーザーはこれらのファイルを別のディレクトリにコピーできます。

注: この章の他の手順を完了するには、ユーザーは root 権限を持っている必要があります。

2. cd /usr/local/src--
ソース ファイル ディレクトリに移動します。
3.
次のファイルをダウンロードします (http://www.mtolive.com/phpbook からダウンロードできます)または、この本に付属の CD からこれらのファイルを /usr/local/src ディレクトリにコピーします:
。 .tar .gz
. gcc-2.8.1.tar.gz
. mysql-3.22.16b-gamma.tar.gz
。 .tar .gz
. phplib.tar.gz
. libiodb-2.50.3
. myodbc-2.50.24-src
を使用します。 >tar
コマンドで上記のファイルを解凍します。 tarx オプションはロック解除オプションであり、v オプションは.tar ファイル名には文書から抽出されたファイル名が表示されます。 tar xvzf apache_1.3.4.tar.gz tar xvzf gcc-2.8.1.tar.gz tar xvzf mysql-3.22.16b-gamma.tar.gz tar xvzf php-3.0.11.tar.gz tar xvzf expat.tar.gz tar xvzf phplib.tar.gz 5. gcc -v OKシステムには gcc
のバージョンがあります。システムが

v2.7.2.3

ではない場合は、

gcc
バージョン番号を使用して、次の手順の v.2.7.2.3 6. cp `this gcc` /usr/bin/gcc-2.7.2.3 必要に応じて、既存の gcc後で使用するためにバックアップします。 Linux のもう 1 つの利点は、プログラムの複数のバージョンをディレクトリに簡単に保存できることです。 7. httpd -v
システム内の Apache のバージョン番号を確認します。システムの Apachev1.3.4 ではない場合は、次の手順で v1.3.4 8. mv `that httpd` /usr/sbin/httpd-1.3.4

必要に応じて、既存の Apache後で使用するためにバックアップします。
2.3
コンパイラCコンパイラgcc
ユーザーがプログラムをインストールしてコンパイルする必要がある最初のプログラムは、C コンパイラーです。 Red Hat v5.2 に含まれる C コンパイラーは gcc v2.7.2.3 です。 は、バージョンが比較的低いため、PHP を正しくコンパイルできません。ただし、gcc v.2.7.3 は、上位バージョン gcc v2.8.1 をコンパイルするために使用できます。
gcc の新しいバージョンをコンパイルするには、次の実行が必要です: 1. cd /usr / local/src/gcc-2.8.1

gcc の最上位ディレクトリに移動します。 2. ./configure -prefix=/usr/local/gcc

設定プログラムを実行して、インストール プログラムが後続のセクションで /usr/local/gccは、gccのインストールディレクトリとして機能します。 3. ブートストラップ LANGUAGES="c c++" BOOT_CFLAGS="-g -02" を作成します。新しい C および C++ コンパイラーをコンパイルします。
4. make install LANGUAGES="c c++" BOOT_CFLAGS="-g -02"
新規インストール C および C++ コンパイラー。
5. mv /usr/local/gcc/bin/gcc /usr/local/gcc/bin/gcc-2.8.1
新しいものを入れます gccコンパイラーの名前が変更され、名前にバージョン番号が含まれるようになりました。
6. ln -s
/usr/local/gcc/bin/gcc-2.8.1
/usr/bin/gcc-
新しくコンパイルされた gcc 実行可能ファイルへのシンボリック リンク /usr/bin/gcc を作成します。
7. gcc -v
は、gcc のバージョン番号を表示します。コンパイルとインストールが正常に完了すると、v.2.8.1 が表示されます。

2.3
コンパイルMySQL
次に、MySQL。コンパイル作業が完了したら、MySQL のアプリケーションを使用してインストールをテストできます。
1. cd /usr/src/mysql-3.22.16a-gamma
MySQL ディレクトリ。 2. ./configure --prefix=/usr/local/mysql

設定プログラムを実行して、後続のインストール プロセスでインストーラーがそのプログラムを使用するように強制します /usr/local/mysql は、MySQL のインストール ディレクトリとして機能します。 3.

MySQL をコンパイルします。 4. インストールを行う
MySQL をインストールします。
5. echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
MySQL ライブラリが配置されているディレクトリが構成ファイルに追加されます。このように、Linux が起動するか、ldconfig コマンドが実行されると、構成内のディレクトリでライブラリ ファイルが検索されます。ファイル。
6. ldconfig -v | grep libmysqlclient
ldconfig
コマンドは、/etc/ld.so.conf ファイル内にリストされているディレクトリと、それらのディレクトリ内にあるバッファ ライブラリ ファイル。 grep コマンドは、ldconfigMySQL ライブラリ ファイルを検索します。 🎜> コマンドを実行し、次のような方法で表示されるテキストを制限します: libmysqlclient.so.6 => libmysqlclient.so.6.0.0 "/usr/local/mysql/ bin/safe_mysqld > /dev/null &" > これを

/etc/rc.d/rc.local
ファイルに追加します。 LinuxMySQL を起動するたびに自動的に実行されます。 8. ./scripts/mysql_install_db データベースを初期化します。 9. /usr/local/mysql/bin/safe_mysqld > /dev/null &
Start
MySQL サーバーはバックグラウンド プログラムとして機能し、インストールをテストするには、
MySQL
サーバーを起動する必要があります。 10. ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
/usr/bin ディレクトリにインストール ディレクトリへのシンボリック リンクを作成することを好みます。この方法では、PATH 環境変数内のディレクトリの数を減らし、使用しない MySQL ツール プログラムを非表示にすることもできます。他の人に起動してもらいたい (たとえば、mysqladmin コマンド)。別の方法は、コマンド PATH="$PATH:/usr/local/mysql/bin"/etc/profile ファイル内にあります。上記の両方の方法を使用できます。 11. ln -s
/usr/local/mysql/bin/mysqlshow
/usr/bin/mysqlshow

このコマンドにより、一般的なユーザーは mysqlshow コマンドを実行できます。
2.4
テストMySQL
継続Apache PHP をコンパイルする前に、まず MySQL のインストールが成功したかどうかをテストします。正式にリリースされた MySQL には多くの便利なツールが付属していますが、ここでは mysqlmysqlshow のみを使用します。 テストするコマンド。 (データベースに詳しくない場合でも、心配しないでください。ユーザー、テーブル、レコードなどのデータベースの概念については、第 6 章「」「データベースと SQL" で導入) mysqladmin
の機能は、データベースの作成と削除、
SQL 、およびその他の用途。まず、バージョン番号を確認して、MySQL が正しくインストールされているかどうかを確認します: >PATH="usr/local/mysql/ bin:$PATH" >mysqladmin バージョン
Ver 7.8 Distrib 3.22.16a-gamma、i686 TCX Datakonsult AB 上の pc-linux-gun 用、Monty 作成
サーバー バージョン 3.22.16a-gamma
プロトコル バージョン 10
UNIX ソケット経由の Localhost 接続
UNIX ソケット /tmp/mysql.sock
稼働時間: 2 時間 30 分 39 秒

スレッド: 1 質問: 7 遅いクエリ: 0
オープン: 6 フラッシュ テーブル: 1 オープン テーブル: 2

次のコマンドを使用して、mysqladmin のすべての機能を表示できます。 .

mysqladmin --help | less

おそらく、mysqlshow は、データベース、テーブル、フィールド名 は次のとおりです:

List2.1 mysqlshow--データベースの表示テーブルとフィールド名のリスト


ページ 18
(13 行) -19 (最後の行 10 )リスト 2.1


最後に紹介するものMySQL このツールは mysql です。このプログラムは MySQL の中心に深く入り込み、Linuxコマンド ライン プロンプトで SQL ステートメントを実行します。 mysqlshell モードで実行します。

19 ページ
(下段 5) -20 (下から5行目 )

注意: パスワードを設定するには、password() 関数を使用します。さらに詳しい情報が必要な場合は、MySQL ドキュメントを参照してください。

注意: システムが通常の動作モードになるときは、 よりも適切なパスワードを選択してください。 rootのパスワード。
2.5
コンパイルiODBC および MyODBC iODBC
は、オープン データベース相互接続 (Open Database connectivity) プロトコルを実装する関数ライブラリです。これは主に、Microsoft Windows で実行されているデータベース エンジンに接続するために使用されます。 1. cd /usr/local/src/libiodbc-2.50.3

iODBC ディレクトリに移動します。 2. ./configure
--prefix=/usr/local/iodbc
--with-iodbc-inidir=/usr/local/etc

設定プログラムを実行し、iODBC の設定を強制的に /usr/local/iodbc ディレクトリにインストールします。また、odbc の初期化ファイルが /etc/odbc.ini であることを確認してください。 3. make
4. make install

ライブラリ ファイルをディレクトリ /usr/local/iodbc/lib をクリックし、インクルード ファイルをディレクトリ /usr/local/iodbc/include にコピーします。 5. cd /usr/local/src/myodbc-2.50.24

MyODBC ディレクトリに移動します。 6. ./configure --prefix=/usr/local/myodbc
--with-mysql-sources=/usr/local/mysql-3.22.16a-gamma
--with-odbc-ini=/etc/odbc.ini
--with-iodbc=/usr/local/iodbc
MyODBC 構成プログラムを実行します。
7. make
8. make install
ライブラリをディレクトリ /usr/local/myodbc/lib ダウン。 2.6
コンパイル PHP
コンパイル前より PHP をコンパイルPHP のコンパイルは実際には expatApacheApache の組み合わせであるため、アプリケーションはさらに複雑になります。 🎜> と PHP。コンパイルの結果は、PHP を使用した Apache バージョンになります。 PHP をコンパイルするには、次の手順を使用できます。

1. cd /usr/local/src/expat
expat ディレクトリに移動します。

2.
expatソース ファイルをコンパイルします。
3. 次のコマンドを Makefile ファイルに追加します。必ず arralib は、以前は Tab キーを使用していました。
libexpat.a: $(OBJS)
ar -rc $@ $(OBJS)
ranlib $@
4. make libexpat.a
expat オブジェクト ファイルをライブラリ ファイルに結合します。
5. mv libexpat.a /usr/local/lib
PHP
設定ファイルは、/usr/local/lib ディレクトリで libexpat.a ファイルを探します。 libexpat.a ファイルを PHP 構成ファイルが知られているディレクトリに移動すると、今後の操作での問題が軽減されます。
6. cd /usr/local/src/php-3.0.11
PHP ディレクトリ。 7. mkdir /usr/local/include/xml

確認/usr/local/include/xmlディレクトリは存在します。 8. ln -s
/usr/local/src/expat/xmltok/xmltok.h
/usr/local/include/xml/xmltok.h

シンボリック リンクを作成できるのに、なぜコピーを作成するのでしょうか? 9. ln -s
/usr/local/src/expat/xmlparse.h
/usr/loc

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!