Win 2003+apache+PHP+SqlServer 2008構成本番環境

6276 ワード

インストール前の準備:

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して、完成しました!