Win 2003+apache+PHP+SqlServer 2008構成本番環境
6276 ワード
インストール前の準備:
インストールの開始:
Apache のインストール
1 apahceインストールパッケージをクリック
2契約を受け入れる
3次の3項は適当に記入すればよい apacheは80ポートを監視します.iisが80ポートを使用した場合、iisポートまたはapacheポートを変更して衝突しないようにします.
(本機のテストで127.0.0.1と記入できる場合)
4ここでデフォルトはtypicalで、customを選んでnextをクリックすることをお勧めします.
5ここではインストールパスを変更することができます.インストールパスには中国語が含まれていないことに注意してください.
6インストールを開始するにはinstallをクリックします
7インストールが完了したらブラウザに打ち込む http://localhost またはhttp://127.0.0.1 このページが表示され、apacheのインストールが成功したことを証明すれば、静的ページを説明することができます.
SQL Server 2008のインストール(//www.jb 51.net/article/30243.html)
PHPの取り付け
phpはzipファイル(install版ではない)であるため、インストールは比較的簡単に解凍すればよい.解凍したphp-5.2.17-Win 32をphp 5に名前を変更し、Cディスクディレクトリの下にコピーする.すなわち、インストール経路はc:php 5である.
1 phpディレクトリの下のphp.ini.recommended(またはphp.ini-dist)ファイルを見つけ、php.iniと名前を変更してシステムディスクのwindowsディレクトリにコピーします(c:windowsを例に).
2 phpディレクトリの下のphp 5 ts.dll,php_mssql.dllはディレクトリc:windowssystem 32の下にコピーされます.
3 php 5extディレクトリの下のphp_gd2.dll,php_mssql.dll,php_mbstring.dllファイルをc:windowssystem 32にコピー php_がロードされていない場合gd2.dll phpは画像を処理できません.php_mbstring.dllはphpmyadminを後で使用するときにワイド文字をサポートします
phpの構成と関連付け
SQL Server 2008
c:windowsphp.iniファイルを開く
1拡張パスを設定extension_を検索dirにはこんな行があるextension_dir="./"この行をextension_に変更dir = "C:\php5\ext" ここでC:php 5はphpをインストールするパスです.パスが正しくないとdllをロードできません. (注:phpバージョンの中には、extension_dir="./"前のセミコロンを削除するものもあります)
2個別検索 ;extension=php_mbstring.dll ;extension=php_gd2.dll ;extension=php_mssql.dll上の3つの前のセミコロンを削除するとapacheが起動するとこれらのdllをロードできます
追加:extension=php_sqlsrv_52_ts_vc 6.dll(またはextension=php_pdo_sqlsrv_52_ts_vc 6.dll)は、どちらか一方しか選択できません.両方を追加するとApacheは起動できません.
もちろん、これらのdllもsystem 32にコピーしました.(インストール中にdllをロードする方法に気づきました.
3セッション保存パスを設定session.save_pathにはこのような行があります. session.save_path="N;/path"この行の後に1行(後ろに追加するのではなく1行を追加することに注意)session.save_path="C:WINDOWSTemp" あなたの臨時ディレクトリの下に保存して、ここは完全にwindows臨時ディレクトリTempの下に保存することができます
4さらに注目すべきはshort_open_tagです.phpバージョンのデフォルトはOffです.つまり、phpは短いタグを使用できません.例えば?>短いタグを使用する必要があります.短いタグの使用が便利であるため、discuzなどの短いタグで書くプログラムも多くあります.short_open_tagをOnに変更しないと症状が現れると判断しにくいのは上記の原因です.ここでは修正をお勧めします 検索short_open_tag=Offをshort_open_tag=Onに変更
5エラーdisplay_errorsを表示するかどうか セキュリティ上、display_errorsのバージョンによってはOffとしてデフォルト設定されているものもあります.つまり、phpコードに誤りがある場合、空白のページが1つしか表示されません.エラーの原因やエラーの行数は表示されません.これにより、デバッグが非常に不便になります.必要に応じてdisplay_errors=Offを変更することをお勧めします. (いいえ、そうではありません.-display_errors=Off [Security])display_errors=Onに変更
6表示NOTICE敬告提示第5歩エラー提示を開いたが、エラー報告はerror_reportingによって制御される.php 5はデフォルトでNOTICE敬告提示を閉じ、ローカルでデバッグした場合、NOTICE敬告提示を開くことを提案する.error_reportingを検索する = E_ALLをerror_reportingに変更 = 7
また、プログラムではerror_reporting()でエラーレポートの出力を制御することもできますが、具体的には以下のマニュアルを参照してください.
7 register_globalsセキュリティ上デフォルトでもOff register_globals=Offの場合、次のプログラム受信時に$_POST['user_name']と$_POST['user_pass'])を使用する必要があります. register_globals=Onの場合、次のプログラムは$user_nameと$user_passを直接使用して値を受け入れることができる. 自分の必要に応じて修正することをお勧めします.互換性の問題のために、私はそれをOnに変更しました.
8 php 5時差問題時間が8時間違うのはなぜですか.PHP 5シリーズのバージョンではタイムゾーン設定が追加され、デフォルトではグリニッジ時間となっています.中国のある東8区とちょうど8時間差でdate.timezoneを検索します.date.timezone=は、削除してdate.timezone=PRCに変更します その中でPRC:People's Republic of China中華人民共和国、
9 php 5アップロードの問題a.一般的なファイルアップロードは、ファイルが小さい場合を除きます.5 Mのファイルのように、アップロードが完了するまで1分以上かかる可能性があります.しかし、phpでは、デフォルトのページの最長実行時間は30秒です.つまり、30秒を超えるとスクリプトの実行が停止します.これにより、ページを開くことができない場合があります.max_execution_timeを変更できます
php.iniで検索 max_execution_timeデフォルトは30秒です.max_execution_time=0に変更します. 0は制限なし
もう1つの方法は、phpプログラムにset_time_limit()を加えることで、ページの最長実行時間を設定することができる.set_time_limit(0);//0は制限がないことを示す
b.post_max_sizeを変更POSTデータの最大サイズを設定します.この設定はファイルアップロードにも影響します.phpのデフォルトのpost_max_sizeは2 Mです.POSTデータサイズがpost_max_size$_POSTと$_FILESsuperglobalsより大きいと空になります.post_max_sizeを検索します.post_max_size=150 Mに変更します
c.多くの人が2番目のステップを変更します.しかし、ファイルをアップロードするときは最大8 Mです.なぜですか.アップロードしたファイルの最大サイズを示すパラメータupload_max_filesizeを変更します. upload_max_filesizeを検索します.デフォルトは8 Mからupload_max_filesize=100 Mです.
なお、post_max_sizeがupload_max_filesizeより大きい方がよい.
Apache統合PHP
1 apache構成ドキュメントを開き、作成者のパソコンを例に:D:myphpapache 2.2confhttpd.conf
2 Webサイトのルートディレクトリを変更DocumentRootを検索するには、DocumentRootの「C:/Program Files/APache Software Foundation/APache 2.2/htdocs」という行があります.これがWebサイトのルートディレクトリです.変更してもデフォルトでも変更できます.変更する場合は、次の項目を変更します.そうしないと、403エラーが発生します. This should be changed to whatever you set DocumentRoot toその下の2行に上の2つのC:/Program Files/Apache Group/Apache 2/htdocsをあなたの欲しいディレクトリに変更します
3検索 DirectoryIndex index.htmlをDirectoryIndex index.html index.html.html.var index.phpに変更 これでindex.phpはデフォルトのページとして機能します
4 Apacheでモジュール化インストールphp検索#LoadModule foo_module modules/mod_foo.soこの行の後にLoadModule php 5_module C:/php 5/php 5 apache 2_2.dllを追加
(C:/php 5/php 5 apache 2_2.dllはphpをインストールするための対応するパスです.php 5 apache 2_2.dll、php 5 apache 2.dllとphp 5 apache.dllを混同しないでください.php 5 apache.dllはapacheバージョン1にのみ適用されます.PHP 5圧縮パッケージのphp 5 apache 2.dllはapache 2.0.*バージョンにのみ適用され、2.2.*以上のバージョンであればphp 5 apache 2_2.dllを使用する必要があります.そうしないと表示される可能性があります.「Cannot load C:/php/php 5 apache 2.dll into server:The specified module could not be found.」または「The requested operation has failed」の場合.ただしphp 5 apache 2_2.dllが出てからもあまり参考にならない)
5 AddTypeアプリケーション/x-gzip.gz.tgzを検索この行の後にAddTypeアプリケーション/x-httpd-php.phpの行を追加 これでapacheはphpファイルを解釈できます ここまで構成はほぼ完了しました
6 apacheを再起動し、Webサイトのルートディレクトリの下にphpinfo.phpファイルを作成します.
ブラウザで開きます.phpの情報が正常に表示される場合は、phpが構成されていることを示します.
最も重要なステップは、他のデータベース拡張子をロードするステップとは異なり、sqlncli.msi(SqlServer 2008クライアント)をインストールします.最初にプロビジョニングしたとき、私を1週間苦しめました.クライアントがインストールされていないため、拡張子が見つからないことを常に示しています.ntwdblib.dll(2000.80.194.0)あ、バージョンに注意してください.PHP自体にもこのファイルがあります.古いバージョンで、SqlServer 2000しかサポートされていません.
最后にApacheサーバーを再开して、PHPファイルを书いて、テストして、すべてOKして、完成しました!
1.Apache2.2.2
2.PHP5.2.17
3.SqlServer2008
4.sqlncli.msi(SqlServer , )
5.ntwdblib.dll (2000.80.194.0)
6.SQLSRV20.exe, MicrosoftDriver 2.0 for PHP for SQL Server(sql server 2005 2008 SQLSRV20.exe, SQL Server 2010 SQLSRV30.exe)( php_pdo_sqlsrv_52_ts_vc6.dll php_sqlsrv_52_ts_vc6.dll); ,52 php5.2,53 php5.3,ts ,nts ,vc6 vc6(vs2005) ,vc9 vs2008 ,vc6 apache,vc9 IIS。
インストールの開始:
Apache のインストール
1 apahceインストールパッケージをクリック
2契約を受け入れる
3次の3項は適当に記入すればよい apacheは80ポートを監視します.iisが80ポートを使用した場合、iisポートまたはapacheポートを変更して衝突しないようにします.
(本機のテストで127.0.0.1と記入できる場合)
4ここでデフォルトはtypicalで、customを選んでnextをクリックすることをお勧めします.
5ここではインストールパスを変更することができます.インストールパスには中国語が含まれていないことに注意してください.
6インストールを開始するにはinstallをクリックします
7インストールが完了したらブラウザに打ち込む http://localhost またはhttp://127.0.0.1 このページが表示され、apacheのインストールが成功したことを証明すれば、静的ページを説明することができます.
SQL Server 2008のインストール(//www.jb 51.net/article/30243.html)
PHPの取り付け
phpはzipファイル(install版ではない)であるため、インストールは比較的簡単に解凍すればよい.解凍したphp-5.2.17-Win 32をphp 5に名前を変更し、Cディスクディレクトリの下にコピーする.すなわち、インストール経路はc:php 5である.
1 phpディレクトリの下のphp.ini.recommended(またはphp.ini-dist)ファイルを見つけ、php.iniと名前を変更してシステムディスクのwindowsディレクトリにコピーします(c:windowsを例に).
2 phpディレクトリの下のphp 5 ts.dll,php_mssql.dllはディレクトリc:windowssystem 32の下にコピーされます.
3 php 5extディレクトリの下のphp_gd2.dll,php_mssql.dll,php_mbstring.dllファイルをc:windowssystem 32にコピー php_がロードされていない場合gd2.dll phpは画像を処理できません.php_mbstring.dllはphpmyadminを後で使用するときにワイド文字をサポートします
phpの構成と関連付け
SQL Server 2008
c:windowsphp.iniファイルを開く
1拡張パスを設定extension_を検索dirにはこんな行があるextension_dir="./"この行をextension_に変更dir = "C:\php5\ext" ここでC:php 5はphpをインストールするパスです.パスが正しくないとdllをロードできません. (注:phpバージョンの中には、extension_dir="./"前のセミコロンを削除するものもあります)
2個別検索 ;extension=php_mbstring.dll ;extension=php_gd2.dll ;extension=php_mssql.dll上の3つの前のセミコロンを削除するとapacheが起動するとこれらのdllをロードできます
追加:extension=php_sqlsrv_52_ts_vc 6.dll(またはextension=php_pdo_sqlsrv_52_ts_vc 6.dll)は、どちらか一方しか選択できません.両方を追加するとApacheは起動できません.
もちろん、これらのdllもsystem 32にコピーしました.(インストール中にdllをロードする方法に気づきました.
3セッション保存パスを設定session.save_pathにはこのような行があります. session.save_path="N;/path"この行の後に1行(後ろに追加するのではなく1行を追加することに注意)session.save_path="C:WINDOWSTemp" あなたの臨時ディレクトリの下に保存して、ここは完全にwindows臨時ディレクトリTempの下に保存することができます
4さらに注目すべきはshort_open_tagです.phpバージョンのデフォルトはOffです.つまり、phpは短いタグを使用できません.例えば?>短いタグを使用する必要があります.短いタグの使用が便利であるため、discuzなどの短いタグで書くプログラムも多くあります.short_open_tagをOnに変更しないと症状が現れると判断しにくいのは上記の原因です.ここでは修正をお勧めします 検索short_open_tag=Offをshort_open_tag=Onに変更
5エラーdisplay_errorsを表示するかどうか セキュリティ上、display_errorsのバージョンによってはOffとしてデフォルト設定されているものもあります.つまり、phpコードに誤りがある場合、空白のページが1つしか表示されません.エラーの原因やエラーの行数は表示されません.これにより、デバッグが非常に不便になります.必要に応じてdisplay_errors=Offを変更することをお勧めします. (いいえ、そうではありません.-display_errors=Off [Security])display_errors=Onに変更
6表示NOTICE敬告提示第5歩エラー提示を開いたが、エラー報告はerror_reportingによって制御される.php 5はデフォルトでNOTICE敬告提示を閉じ、ローカルでデバッグした場合、NOTICE敬告提示を開くことを提案する.error_reportingを検索する = E_ALLをerror_reportingに変更 = 7
また、プログラムではerror_reporting()でエラーレポートの出力を制御することもできますが、具体的には以下のマニュアルを参照してください.
7 register_globalsセキュリティ上デフォルトでもOff register_globals=Offの場合、次のプログラム受信時に$_POST['user_name']と$_POST['user_pass'])を使用する必要があります. register_globals=Onの場合、次のプログラムは$user_nameと$user_passを直接使用して値を受け入れることができる. 自分の必要に応じて修正することをお勧めします.互換性の問題のために、私はそれをOnに変更しました.
8 php 5時差問題時間が8時間違うのはなぜですか.PHP 5シリーズのバージョンではタイムゾーン設定が追加され、デフォルトではグリニッジ時間となっています.中国のある東8区とちょうど8時間差でdate.timezoneを検索します.date.timezone=は、削除してdate.timezone=PRCに変更します その中でPRC:People's Republic of China中華人民共和国、
9 php 5アップロードの問題a.一般的なファイルアップロードは、ファイルが小さい場合を除きます.5 Mのファイルのように、アップロードが完了するまで1分以上かかる可能性があります.しかし、phpでは、デフォルトのページの最長実行時間は30秒です.つまり、30秒を超えるとスクリプトの実行が停止します.これにより、ページを開くことができない場合があります.max_execution_timeを変更できます
php.iniで検索 max_execution_timeデフォルトは30秒です.max_execution_time=0に変更します. 0は制限なし
もう1つの方法は、phpプログラムにset_time_limit()を加えることで、ページの最長実行時間を設定することができる.set_time_limit(0);//0は制限がないことを示す
b.post_max_sizeを変更POSTデータの最大サイズを設定します.この設定はファイルアップロードにも影響します.phpのデフォルトのpost_max_sizeは2 Mです.POSTデータサイズがpost_max_size$_POSTと$_FILESsuperglobalsより大きいと空になります.post_max_sizeを検索します.post_max_size=150 Mに変更します
c.多くの人が2番目のステップを変更します.しかし、ファイルをアップロードするときは最大8 Mです.なぜですか.アップロードしたファイルの最大サイズを示すパラメータupload_max_filesizeを変更します. upload_max_filesizeを検索します.デフォルトは8 Mからupload_max_filesize=100 Mです.
なお、post_max_sizeがupload_max_filesizeより大きい方がよい.
Apache統合PHP
1 apache構成ドキュメントを開き、作成者のパソコンを例に:D:myphpapache 2.2confhttpd.conf
2 Webサイトのルートディレクトリを変更DocumentRootを検索するには、DocumentRootの「C:/Program Files/APache Software Foundation/APache 2.2/htdocs」という行があります.これがWebサイトのルートディレクトリです.変更してもデフォルトでも変更できます.変更する場合は、次の項目を変更します.そうしないと、403エラーが発生します. This should be changed to whatever you set DocumentRoot toその下の2行に上の2つのC:/Program Files/Apache Group/Apache 2/htdocsをあなたの欲しいディレクトリに変更します
3検索 DirectoryIndex index.htmlをDirectoryIndex index.html index.html.html.var index.phpに変更 これでindex.phpはデフォルトのページとして機能します
4 Apacheでモジュール化インストールphp検索#LoadModule foo_module modules/mod_foo.soこの行の後にLoadModule php 5_module C:/php 5/php 5 apache 2_2.dllを追加
(C:/php 5/php 5 apache 2_2.dllはphpをインストールするための対応するパスです.php 5 apache 2_2.dll、php 5 apache 2.dllとphp 5 apache.dllを混同しないでください.php 5 apache.dllはapacheバージョン1にのみ適用されます.PHP 5圧縮パッケージのphp 5 apache 2.dllはapache 2.0.*バージョンにのみ適用され、2.2.*以上のバージョンであればphp 5 apache 2_2.dllを使用する必要があります.そうしないと表示される可能性があります.「Cannot load C:/php/php 5 apache 2.dll into server:The specified module could not be found.」または「The requested operation has failed」の場合.ただしphp 5 apache 2_2.dllが出てからもあまり参考にならない)
5 AddTypeアプリケーション/x-gzip.gz.tgzを検索この行の後にAddTypeアプリケーション/x-httpd-php.phpの行を追加 これでapacheはphpファイルを解釈できます ここまで構成はほぼ完了しました
6 apacheを再起動し、Webサイトのルートディレクトリの下にphpinfo.phpファイルを作成します.
ブラウザで開きます.phpの情報が正常に表示される場合は、phpが構成されていることを示します.
最も重要なステップは、他のデータベース拡張子をロードするステップとは異なり、sqlncli.msi(SqlServer 2008クライアント)をインストールします.最初にプロビジョニングしたとき、私を1週間苦しめました.クライアントがインストールされていないため、拡張子が見つからないことを常に示しています.ntwdblib.dll(2000.80.194.0)あ、バージョンに注意してください.PHP自体にもこのファイルがあります.古いバージョンで、SqlServer 2000しかサポートされていません.
最后にApacheサーバーを再开して、PHPファイルを书いて、テストして、すべてOKして、完成しました!