ホームページ >バックエンド開発 >PHPチュートリアル >PHP と MySQL を使用してデータベース主導の Web サイトを構築する 2_PHP チュートリアル
このスクリプトを起動トランザクションに追加するのは、より複雑なタスクです。 RedHat Linux を使用しておらず、これを行うかどうかわからない場合は、詳しい人に聞いたほうがよいでしょう。 RedHat Linux では、(MySQL ディレクトリ内で) コマンド % cp share/mysql/mysql.server /etc/rc.d/init.d/ % cd /etc/rc.d/init d を実行するとこれが実行されます。 %chmod 500 mysql.server % cd /etc/rc.d/rc3.d % ln -s ../init.d/mysql.server S99mysql % cd /etc/rc.d/rc5.d % ln -s 。 ./init.d/mysql.server S99mysql これですべてが完了しました。この動作をテストするには、システムを再起動し、サービスにリクエストを送信して、サービスが適切に動作するかどうかを確認します。 Linux での PHP のインストール 前に述べたように、PHP はスタンドアロン プログラムではありません。これは実際には Web サービス (おそらく Apache) のプラグインです。実際には、Apache に PHP プラグインをインストールするには 3 つの方法があります。 Apache は CGI プログラムとして、PHP ページを処理する必要があるたびに実行します。 Apache プログラムにモジュールとしてコンパイルされます。 Apache が起動するたびにモジュールとしてロードされます。 最初の方法はインストールと設定が最も簡単ですが、Apache が PHP ページのリクエストを受信するたびに PHP をプログラムとして呼び出す必要があります。これにより、特に複数のリクエストを同時に受信した場合、Web サーバーの応答時間が確実に遅くなります。 2 番目の方法と 3 番目の方法は、パフォーマンスの点では同様に優れていますが、Apache がすでにインストールされている可能性が高く、Apache を再度ダウンロードして再コンパイルして再インストールする必要はないでしょう。したがって、3 番目の方法を使用します。 まず、http://www.php.net/ (または http://www.php.net/mirrors.php にリストされているミラー サイトの 1 つ) から PHP パッケージをダウンロードします。このチュートリアルを書いている時点では、PHP 4.0 は基本的に成熟しています。私自身も PHP 4.0-RC2 を試しましたが、問題はありませんでした。最終の安定バージョンは間もなくリリースされると推定されています (おそらく、その時点までにこのチュートリアルの作成は完了していないでしょう)。正式バージョンがリリースされたときに変更を加える必要がないように、最新バージョンをインストールすることをお勧めします。ここでは 3.0 をインストールしていますが、インストール中に 3.0 と 4.0 で考えられる違いに注意してください。 ダウンロードしたファイルのファイル名はphp-version.tar.gzとなります。最初のステップは、このファイルを解凍することです: % tar xfz php-version.tar.gz % cd php-version PHP を Apache ロード可能モジュールとしてインストールするには、Apache の apxs プログラムが必要です。このプログラムは Apache のほとんどのバージョンに含まれていますが、RedHat Linux 経由でインストールされたコピーを使用している場合は、それを入手するために Apache Advanced RPM パッケージをインストールする必要があります。このソフトウェア パッケージは RedHat CD に収録されているか、http://www.redhat.com/ からダウンロードできます。デフォルトでは、RedHat はこのプログラムを /usr/sbin/apxs にインストールします。このファイルが表示されている場合は、それがインストールされていることを意味します。 このインストール プロセスでは、Apache 構成ファイルへの変更が必要となるため、スーパーユーザーとしてログインする必要があります。 次のステップは、どのオプションを選択するか、必要なプログラム (Apache や MySQL など) をどこで探すかを認識できるように PHP インストーラーを構成することです。本当に確信がない限り、次のように (同じ行に) 入力してください: % ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/ php -- with-apxs=/usr/sbin/apxs --enable-track-vars --enable-magic-quotes --enable-debugger PHP 3.0 がインストールされている場合 (4.0 以降ではない)、次の場所を指定する必要もあります。次の追加パラメータを使用してシステム上の MySQL を検索します。 --with-mysql=/usr/local/mysql/ いくつかの画面でテストを行った後、コマンド プロンプトに戻ります。次の 2 つのコマンドは、PHP をコンパイルしてインストールします。 % make % make install PHP は /usr/local/php にインストールされます (上記の ./configure の --prefix パラメータで別のディレクトリを指定した場合を除く)。同じディレクトリ内で php.ini という名前の設定ファイルを見つけることができます (上記の ./configure の --with-config-file-path パラメータで別のディレクトリを指定しない限り)。PHP は php.ini モジュール ファイルを提供します。ファイル名は php.ini-optimized (PHP3.0 では php.ini-dist) です。このファイルを対応するディレクトリにコピーします: % cp php.ini-optimized /usr/local/php/php.ini PHP 3.0 の場合: % cp php.ini-dist /usr/local/php/php.iniまだ欲しい php.iniの最適化と調整が心配。ここで、起動時に PHP をロードできるように、Apache が PHP の場所を認識していることを確認する必要があります。使い慣れたテキスト エディタを使用して、Apache httpd.conf 設定ファイル (RedHat Linux の /etc/httpd/conf/httpd.conf 内) を開きます。 次のような行を探します: LoadModule php4_module lib/apache/libphp4.so PHP 3.0 をインストールする場合は、この行の php4 を php3 に置き換えます。 探しているのは、以前にコメントアウトした行ではなく、コメントされていない新しい行 (# で始まる行ではない) である必要があります。通常、これはファイル内の他の LoadModule 行と一緒に表示されます。見つかったら、ファイル内の他のすべての LoadModule 行と一致するようにパスを変更する必要があります。RedHat Linux では、これはこの行を次のように変更することを意味します: LoadModule php4_module modules/libphp4.so 次に、DirectoryIndex で始まる行を探します。この行は、特定のディレクトリのデフォルト ページを検索するときに使用するファイル名を Apache に伝えます。通常、index.html とその他のファイル名が表示されます。次の行にindex.php とindex.php3 を追加する必要があります: DirectoryIndex index.htmlindex.cgi ...index.phpindex.php3 最後に、これに進みます。ファイルの最後に、どのファイル拡張子が PHP ファイルとみなされるかを Apache に指示する新しい行を追加します。 AddType application/x-httpd-php .phtml .php .php3 すべてが完了したら、変更を保存し、Apache サーバーを再起動します。 Apache の起動時にエラー メッセージが表示されないはずです。 インストール後の設定 Windows、Linux、その他のオペレーティング システムを使用しているかどうかに関係なく、PHP と MySQL の両方をインストールした後、最初に行うことは、MySQL の「root パスワード」を設定することです。MySQL では、データベースに保存されている情報へのアクセスと操作を許可されたユーザーのみに許可するため、誰が許可され、誰が許可されていないのかを MySQL に知らせる必要があります。 MySQL を最初にインストールすると、パスワードなしですべてにアクセスできる「root」というユーザーが作成されます。最初のタスクは、誰もデータベースを操作できないように root ユーザーのパスワードを設定することです。 Web サービスや FTP サービスと同様に、同じネットワーク上のどのマシンからも MySQL にアクセスできることの重要性を認識する必要があります。インターネットに接続されたコンピュータで作業している場合、これは、世界中の誰でも MySQL サーバーへの接続を試行できることを意味します。推測しにくいパスワードをすぐに選択する必要があります。 MySQL で root パスワードを設定するには、MySQL をインストールしたディレクトリの bin サブディレクトリに次のコマンド (引用符を含む) を入力します。 mysqladmin -u root password "your new password" MySQL がこの変更を確実に受け入れるようにするには、MySQL に通知する必要があります。検証されたユーザーとパスワードのリストを再ロードするには: mysqladmin -u root reload このコマンドでアクセスできないことを示すエラー メッセージが表示された場合でも、これはパスワードが有効であることを示しているだけですので、心配する必要はありません。 新しいパスワードをテストするには、MySQL サーバーに現在のステータスを知らせるように依頼できます。 mysqladmin -u root -p status プロンプトが表示されたら、パスワードを入力します。サービスの現在のステータスを含む簡単な情報が表示されます。 -u root パラメータは、「root」ユーザーとしてログインすることをプログラムに指示します。 -p パラメータは、接続前にパスワードの入力を求めるようにプログラムに指示します。 status パラメータは、システムのステータスを確認したいことをプログラムに伝えます。 MySQL サーバーをシャットダウンする必要がある場合は、次のコマンドを使用できます。ここでの -u root パラメータと -p パラメータは上記と同じ意味であることに注意してください。 mysqladmin -u root -p shutdown MySQL データベース システムが安全に動作するようになったので、残りの作業は PHP を設定することです。 PHP は、php.ini というテキスト ファイルを使用して設定されます。 Windows に PHP をインストールした場合は、php.ini を Windows ディレクトリにコピーしておく必要があります。上記の手順を使用して Linux に PHP をインストールした場合は、php.ini を PHP インストール ディレクトリ (/usr/local/php) にコピーしておく必要があります。 使い慣れたテキスト エディタで php.ini を開いて、ちょっと見てみましょう。ほとんどの設定は詳細に文書化されており、デフォルト設定のほとんどは要件に適合させることができます。設定が以下と一致していることを確認してください: magic_quotes_gpc = Ondoc_root = extension_dir = PHP 4.0 を実行している場合は、次の行も確認する必要があります: register_globals = On Windows で PHP 3.0 を実行している場合は、先頭の ";" を削除してください。 " を使用して、次の行のコメントを解除します (4.0 では必要ありません): extension=php_mysql.dll php.ini への変更を保存し、Web サーバーを再起動します。 Linux では、スーパーユーザーとしてログインしている場合、Apache を再起動できます: /etc/rc.d/init.d/httpd restart これで準備は完了です。残っている唯一のことは、テストしてすべてが正常であることを確認することです (最初の PHP スクリプトを参照してください)。 Web ホストが PHP と MySQL を提供する場合 Web スペースを提供するホストが MySQL と PHP をインストールしてセットアップしており、それらの使用方法を学びたいだけの場合は、する必要はあまりありません。これらのサービスにアクセスする方法については、ホスティング プロバイダーに問い合わせる必要があります。 特に重要なのは、MySQL サービスにアクセスするために設定されたユーザー名とパスワードを取得する必要があることです。彼らはあなたのために空のデータベースを設定している可能性があります (これにより、あなたと同じ MySQL サーバー上の他のユーザーがデータベースをいじるのを防ぐことができます)。この時点でデータベースの名前も知っておく必要があります。 MySQL サービスにアクセスするには 2 つの方法があります。 1 つ目の方法は、Telnet を使用してホストにログインし、MySQL クライアント プログラム (mysql、mysqladmin、mysqldump など) をインストールして、MySQL サービスと直接対話する方法です。 2 番目の方法は、これらのクライアント プログラムを自分のコンピュータにインストールし、MySQL サーバーに接続することです。 Web ホストがこれらの方法の一方または両方をサポートしている可能性があるため、最初に問い合わせることをお勧めします。 作業を行うために Telnet 経由でのログインがサポートされている場合は、Telnet 経由でログインするためのユーザー名とパスワードも必要になります (このユーザー名とパスワードは、MySQL サービスへのアクセスに使用するものとは異なる場合があります)。どちらの設定情報も明確に尋ねる必要があります。 MySQL サービスへのリモート アクセスをサポートしている場合は、サーバーに接続して対話するためのプログラムをダウンロードする必要があります。このチュートリアルでは、MySQL クライアント プログラムを http://www.mysql.com/ からダウンロードしたことを前提としています。このパッケージは Windows と Unix の両方で動作し、無料です。パッケージに含まれるインストール手順は非常に簡単です。グラフィカル インターフェイスが必要な場合は、Windows 用 MySQLWinAdmin などをダウンロードできます (http://www.mysql.com/ から入手可能)。まずは基本的なクライアント プログラムの使い方を学ぶことをお勧めします。ただし、これらのプログラムで使用されるコマンドは、MySQL データベースにアクセスするための PHP スクリプトで使用されるコマンドとよく似ています。初めての PHP スクリプト。インストールについてはたくさん説明しましたが、PHP 駆動の Web ページを試してもらうのは本当に不公平です