ホームページ >バックエンド開発 >PHPチュートリアル >Apache+Php+Mysql_PHP での静的/動的コンパイルの適用チュートリアル
Apache+php+mysql の実装に成功している人は多く、インターネット上には多くの記事がありますが、多くの記事は何度もコピーされており、コンパイル方法を説明していないものもあります。 .3 コンパイル方法はそのまま転送されて apache2.0 に適用されますが、これは明らかに一部の初心者を誤解させます。
今日は、apache+mysql+php を使用した静的コンパイルと DSO 動的コンパイルの違いについて説明します。2 つのバージョンのコンパイル コマンドが異なるため、それぞれ apache1.3.27 と apache2.0.46 を使用して説明します。
システムと必要なソフトウェア:Redhat9.0apache:1.3.27 および 2.0.46
php: 4.3.2
mysql: 4.0.13
tar zvxf mysql-4.0.13.tar.gzcd mysql-4.0.13
./configure --prefix=/usr/local/mysql --sysconfdir =/etc --localstatedir=/var/lib/mysql &&make &&
make install
インストール完了!
次にデータベースを初期化します
/usr/local/mysql/bin/mysql_install_db
権限を設定します:
chown -R root /usr/local/mysql
設定ファイルをコピーします。
cp / usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
mysqlを起動:
/use/local/mysql/bin/mysqld_safe --user=root &
パスワードの変更: 初期の root パスワードは空です
/usr/local/mysql/bin/mysqladmin -u root -p passwd 1234enter passwd:
パスワードを 1234 に変更します。初期パスワードは空なので、次のように入力します。パスワード Enter を押すだけです
パスワードを入力してください:1234
すべてがうまくいけば、mysql を入力できます。
何が静的で何が DSO であるかについては、ここでは詳しく説明しませんが、個人的には DSO 動的を使用することをお勧めします。コンパイルします。
最初は、apache1.3.29+php4.3.4+mysql4.0.13の静的コンパイルです
apacheは初めてコンパイルされますが、phpのコンパイルには少なくともApacheがコンパイルされている必要があるため、インストールしないでください一度
tar zvxf apache_1.3.27 .tar.gz
cd apache_1.3.27./configure --prefix=/usr/local/apache
#Compile php
tar zvxf php4.3.4.tar.gz
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apache=../apache_1.3.27 &&make &&make install
#2 回目のコンパイルとインストール apache:
cd ../apache_1.3.29
make &&make installcp ../php4.3.4/php.ini.dist /usr/local/php/lib/php.ini
#Modify /usr/local/apache/conf/httpd.conf
この範囲で検索して追加します
AddType application/x-httpd-php .phpAddType application/x-httpd-php-source .phps
注: Apache と php のソース コード パッケージは同じディレクトリにあります, --with-apache=../ apache_1.3.27 はソースコードが解凍されるディレクトリを指します
#ok! 静的コンパイルは完了しました。あとはサーバーを起動するだけです
/usr/local/apache /bin/apachectl startその後、いくつかの php テストページ info.php: content 以下のように
phpinfo();
?> 正常であれば、static の成功おめでとうございます。総集編! ! ! DSO 動的コンパイルの方法について話しましょう:tar zvxf apache_1.3.29
cd apache_1.3.29./configure --prefix=/usr/local/apache --enable - module=so --enable-module=rewrite --enable-shared=max &&make &&make install
soモジュールは、DSOがサポートするApacheheコアモジュールを提供するために使用されます。
enable-shared=max をコンパイルしない場合は、それ以外のすべての標準モジュールが DSO モジュールにコンパイルされることを意味します。
次に、php
tar zvxf php4.3.4.tar.gz
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql - をコンパイルします。 -with-apxs=/usr/local/apache/bin/apxs &&make &&make install
その後、httpd.confを変更します。方法は静的コンパイル方法と同じです
OK、DSO動的コンパイルが完了しました、皆さんもぜひご覧ください。明堂堂に来たら、両者の違いがはっきりとわかるはずです。 ! !
次に、apache2.0.46+php4.3.2 のコンパイル方法について説明します。ここでは、静的コンパイルをテストする時間がないので、DSO の動的コンパイルについてのみ説明します。あなた自身。
tar zvxf httpd-2.0.46.tar.gz
cd httpd-2.0.46./configure --prefix=/usr/local/apache2 --enable-so -- Enable-mods-shared=most &&make &&make install
--enable-so が 1.3.27 の --enable-module=so と同等であり、 --enable-mods-shared=most がと同等です 前のものとの違いに注意してください
--enable-shared=max、そうでない場合は、コンパイルが間違っていても私に連絡しないでください
それでも PHP をコンパイルします
tar zvxf php4.3.2.tar.gz
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache2/bin /apxs &&
make &&
make install
これは apxs2 であることに注意してください。 ! !
httpd.conf の変更も 1.3.27 とは異なります。Add Type application/x-tar .tgz を探し、
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source を追加します。 .phps
さらに、中国語を表示したい場合は、次のように変更します:
AddDefaultCharset gb2312
Apacheを起動
/usr/local/apache2/bin/apachectl start
そのinfo.phpでテストしてください。機能しないなんて問題です! ! !
さて、長々と書きましたが、皆さんのお役に立てれば幸いです! ! !
【関連記事】