1、下载APMServ5.1.2.rar并解压缩
2、打开APMServ5.1.2主程序APMServ.exe
3、虚拟主机配置(看不清可点击放大)
4、虚拟目录配置(看不清可点击放大)
|
1. 質問: 旧バージョンの「APMServ 5.0.4 Enhanced Edition」の Web ページとデータベースのデータを「APMServ 5.1.2」に移行するにはどうすればよいですか? 回答: 「APMServ 5.1.2」を別のディレクトリに解凍します。旧バージョンの「APMServ 5.0.4 Enhanced Edition」が起動している場合は、まず旧バージョンの APMServ.exe の停止ボタンをクリックしてください。次に、phpmyadmin ディレクトリ
を除く、古いバージョンの www Web ページ ディレクトリにあるすべてのディレクトリ ファイルをバージョン 5.1.2 の wwwhtdocs ディレクトリにコピーし、古いバージョンの MySQLdata データベース ディレクトリにあるすべてのディレクトリ ファイルをバージョン 5.1.2 にコピーします。 5.1.2 MySQL4.0data ディレクトリ内で、バージョン 5.1.2 でこれらの Web ページおよびデータベースに正常にアクセスできることを確認した後、旧バージョンのディレクトリを削除します。 2. 質問: 「ポート 80 と 443 が占有されており、Apache2 を起動できません。何が起こっていますか?」
回答: IIS または他の HTTP サーバー ソフトウェアをインストールして起動すると、ポート 80 が占有されます (IIS が SSL サポートをオンにしている場合は、ポート 443 も占有します)。IIS をポートに変更できます。または APMServ で Apache のポートを変更します。
3. 質問: Windows サービス リストに「Apache2」項目がない、または APMServ の起動後に「Apache2」が停止してしまうのはなぜですか?
回答: 中国語を含むパスに APMServ を配置しないでください。サービス モードで起動した Apache は中国語ディレクトリをサポートしていないためです。たとえば、「D:Website Server APMServ」を使用すると、Apache が起動できなくなります。同様に、仮想ホストまたは仮想ディレクトリを追加する場合、パスに漢字を含めることはできません。
4. 質問: MySQL5.1 を使用して新しいデータベースを作成し、元の MySQL4.0.x のデータをインポートしましたが、このようにすべて文字化けしていました。 ???????「?????????」、すべて疑問符、どうやって解決しますか?
回答: MySQL バージョン 4.1 以降、MySQL は複数の言語と文字セットのサポートを追加し、中国語の文字セット GBK を使用します。古い MySQL4.0.x および MySQL3.x バージョンのデフォルトの文字セットは latin1 で、これは latin1 エンコーディングで保存されます。単一の文字セットのみをサポートするため、中国語データを非中国語 latin1 エンコーディングで保存しても文字化けは発生しません。 。
古い MySQL 4.0.x データが、MySQL 4.1.x や 5.x などの複数の文字セットをサポートする MySQL の上位バージョンのデータベースにインポートされた後、中国語以外の latin1 エンコーディングで保存されたデータは「?」と表示されます。 ????????????」。Baidu や Google で「MySQL4.1 文字セット」または「MySQL5 文字セット」を検索すると、関連情報が得られます。ここでは簡単な方法を示します。MySQL データベースへの接続を担当する PHP プログラムでファイル (conn.php など) を開き、mysql_query('setcharacter set GBK'); という行を追加します。例:
$conn=mysql_connect ("127.0.0.1", "root", "");
mysql_select_db("database"); //データベースはデータベース名です
mysql_query('setcharacter) set GBK ');
添付: Discuz! 公式フォーラムには、Discuz! ユーザー向けの「変換またはアップグレード後の文字化けに関する説明」という記事があり、MySQL4.1 以降のバージョンの文字セットの問題について詳しく説明されています。 . 参照できます。
http://www.discuz.net/viewthread.php?tid=201826 5. 質問: サーバーが何日間も継続して実行されると障害が発生するのはなぜですかそれとも、アクセスがピークになった後、プロセス内の Apache.exe が数百メガバイトのメモリを占有しますか? 回答: apache2confhttpd.conf をメモ帳で開き、MaxRequestsPerChild を検索し、MaxRequestsPerChild 0 を MaxRequestsPerChild 50 に変更します。
通常、「Windows タスク マネージャー - プロセス」には 2 つの apache.exe プロセスが表示されます。1 つは親プロセスで、もう 1 つは子プロセスです。親プロセスはアクセス要求を受信すると、その要求を子プロセスに渡します。加工するための工程。 MaxRequestsPerChild このディレクティブは、独立した子プロセスが処理できるリクエストの数を設定します。 「MaxRequestsPerChild 数」のリクエストを処理した後、子プロセスは親プロセスによって終了されます。このとき、子プロセスによって占有されていたメモリは解放され、別のアクセス要求がある場合、親プロセスは子プロセスを再生成します。加工するための工程。
MaxRequestsPerChild がデフォルトで 0 (無限) またはそれより大きな数値 (たとえば、10,000 を超える) に設定されている場合、各子プロセスはより多くのリクエストを処理でき、子の継続的な終了と起動によってアクセス効率が低下することはありません。ただし、MaxRequestsPerChild の設定が 0 の場合、200 ~ 300M のメモリが占有されている場合、負荷が軽減されてもメモリ占有量は減りません。より大きなメモリを備えたサーバーは、0 またはそれより大きな数値に設定できます。メモリの少ないサーバーでは、メモリのオーバーフローを防ぐために、メモリを 30、50、または 100 に設定するとよいでしょう。
6. 質問: 古いバージョンの PHP で作成された一部の PHP プログラムは、APMServ で変数を渡すことができないのはなぜですか? 回答: PHP 開発チームはセキュリティを考慮しています。PHP 4.2.0 以降のバージョンでは、get、post、および session の自動グローバル変数がデフォルトでオフになっているため、送信された変数は前のページ 変数を取得するには、$_GET['foo']、$_POST['foo']、$_SESSION['foo'] を使用する必要があります。以前の PHP バージョンでは、変数を直接取得できました。これにより、古いバージョンの PHP で作成された一部の PHP プログラムは、新しいバージョンの PHP で変数を渡すことができなくなります (APMServ 5.1.2 の PHP バージョンは最新の 5.1.2 です)。
もちろん、自動グローバル変数をオンに変更することもできます (APMServPHPphp.ini-dist をメモ帳で開き、register_globals=Off を register_globals=On に変更します)。セキュリティと互換性を考慮すると、強制的に新しい PHP バージョンの要件に従い、新しい記述方法に慣れることをお勧めします。
「PHP マニュアル」 自動グローバル変数に関する関連手順については、次を参照してください。
http://cn.php.net/manual/zh/langage.variables.predefine.php
「PHP マニュアル」自動グローバル変数について 変数が引き起こす可能性のあるセキュリティ問題については、次を参照してください:
http://cn.php.net/manual/zh/security.globals.php