Maison php教程 php手册 最纯净的Apache2/PHP5/Mysql5 for WinXP配置法

最纯净的Apache2/PHP5/Mysql5 for WinXP配置法

Jun 21, 2016 am 09:00 AM
apache mysql php server

前期准备:

Windows XP SP2 (其实系统只要是 98 以上都可以遵循这样的方法我认为)
Apache 2本例中我选用了 2.2.2 for Win32 ……)
http://archive.apache.org/dist/httpd/

PHP 5 (虽然版本数有点不吉利…… 但我还是毅然选择了 5.1.4 for Win32 Zip 版……)
http://www.php.net/downloads.php
 
MySQL 5 (5.1 尚不稳定…… 我们姑且还是选择 MySQL 5.0.22 for Win32 Zip 版……)
http://www.mysql.com/

本方案并不涉及系统文件夹…… 所以我们大可选择其它分区的某个文件夹来方便日后的伺服器维护…… 本为以 X:\Server 为例…… 注意:文件夹名称最好不要包含空格或其它非英文字符…… 否则某些情况下容易造成伺服器崩溃……

========================================
安装 Apache:

运行 apache_2.2.2-win32-x86-no_ssl.msi …… 一路 Next 下来…… 到选择安装方式的时候,选择 “Custom” 自定义方式…… 然后 Next 选择安装路径…… 定位到 X:\Server\Apache (当然,你选择其它路径也可以,甚至选择 Complete 安装都没问题…… 我只是习惯讲所有服伺服器相关软体集中到一起而已)
本来不准备写 IIS 与 Apache 的共存配置…… 想一想还是带一笔吧…… 提示填写 Server Information 时…… 最下方会让你选择端口…… 如果你安装了 IIS 伺服器…… 这里就选择第二项 “only for the current user, on Port 8080, when started manually.”…… 也就是说 Apache 将占用 8080 端口…… 如果你没安装 IIS …… 无视之……
继续 Next …… 弹出几个 CMD 窗口安装 Windows 服务以后…… 安装就完成了…… 右下角将出现 Apache 粉红色的羽毛 Icon,不出意外图标上应该显示绿灯(表示 HTTP 伺服已经正常启动)…… 你可以访问 http://www.quchao.com/ 来试试,如果屏幕出现 “It Works” 就表示安装成功…… (我记得以前的版本不是这样的,而是一个挺花哨的页面…… 所以只要不出现找不到页面的提示…… Apache 伺服就安装成功了)当然了…… 如果亮起红灯…… 配置肯定错误…… 回头查查吧……
Apache 伺服器就安装完毕了……

=======================================
安装 PHP :

解压 PHP-5.1.4-Win32.zip …… 并放置到 X:\Server\PHP 之下……
接下来为 PHP 的安装目录添加环境变量…… 在我的电脑图标上点击滑鼠右键…… 查看‘属性’…… 然后切换到‘高级’选项卡…… 点击‘环境变量’按钮(快捷键:Alt+N)…… 在弹出的‘系统变量’域中找到‘Path’变量…… 双击编辑并在变量值的最后添加 ‘;X:\Server\PHP’ (注意有个分号,用来分隔之前的值)……
重启电脑…… 为啥? 让环境变量生效呗……
至此 PHP 就安装完毕了…… 当然,现在还未与 Apache 关联…… 而且未作任何设置…… 不要急…… 后面我会写……

=======================================
配置 Apache:

尤为重要的一步:如果你跟我一样选择了当前最新的 PHP 稳定版本 5.1.4…… 官方下载来的源码包中的模块化支援 PHP5apache2.dll 是不适用于 Apache 2.2.2 的…… 据查需要重新编译 PHP …… 不过PHP5 研究室提供了解决方法:
下载这个压缩包(http://www.phpv.net/php5apache2.dll-php5.1.x.rar)…… 解压后将 PHP5apache2.dll 扔进 X:\Server\PHP 覆盖原文件…… 将 httpd.exe.manifest 扔进 X:\Server\Apache\Bin 文件夹…… 最后运行 vcredist_x86.exe (如果你安装有 .Net FrameWork 就无需安装此文件)……
当然,如果你选择比较旧的版本则可略过此步。
下面开始修改 Apache 配置文件: X:/Server/Apache/conf/httpd.conf
修改文档发布路径……
搜索:
DocumentRoot “X:/Server/Apache/htdocs”
将值修改成你想要的发布路径,比如:
DocumentRoot “X:/Server/WWW”
然后还有一处也需要修改…… 否则将无权访问……
搜索:
Directory “X:/Server/Apache/htdocs”
修改为:
Directory “X:/Server/WWW”
修改默认脚本:
搜索:
DirectoryIndex index.html
添加你想要的默认脚本名称,用空格分隔,注意前后有优先顺序,比如:
DirectoryIndex index.PHP index.html index.htm
针对 PHP 5 的配置:
在文档的最下方加入以下字符:
# 调用 PHP 5 模块
LoadModule PHP5_module “X:/Server/PHP/PHP5apache2.dll”
# 添加 Mime 类型…… 亦可以修改 mime.types 文件
AddType application/x-httpd-PHP .PHP
AddType application/x-httpd-PHP-source .phps
# 添加默认字符集…… utf8才是王道……
AddDefaultCharset UTF8
# 设置 PHP.ini 目录
PHPIniDir “X:/Server/PHP”
至此,Apache 已经可以支持 PHP 了…… 当然…… 本文仅介绍如何进行基本安装…… 将不涉及详细的配置以及优化…… 各位可以自行参阅手册进行配置……
'www.knowsky.com
=======================================
安装 MySQL:

解压 MySQL-noinstall-5.0.22-win32.zip …… 并放置到 X:\Server\MySQL 之下……
接下来安装 MySQL 服务…… 打开 cmd.exe …… 然后进入 X:\Server\MySQL\bin 目录……(虾米?你不会?那我还是写清楚吧)
开始->运行->cmd->回车……
然后进入 X:\Server\MySQL\bin 目录:
>cd /d X:\Server\MySQL\bin 回车
(如果你的文件夹带有空格,别忘了在路径外添加双引号)
然后运行 MySQL 服务安装脚本:
>mysqld-nt -install
显示 MySQL service installed successfully,表示安装成功……
接下来为 MySQL 的安装目录也添加一个环境变量…… 在我的电脑图标上点击滑鼠右键…… 查看‘属性’…… 然后切换到‘高级’选项卡…… 点击‘环境变量’按钮(快捷键:Alt+N)…… 在弹出的‘系统变量’域中找到‘Path’变量…… 双击编辑并在变量值的最后添加 ‘;X:\Server\MySQL’ (注意有个分号,用来分隔之前的值)……
重启电脑…… 为啥? 还是让环境变量生效……
(我靠…… 安装 PHP 的时候为什么不一起说…… 害我还得重启一遍……)
这个嘛…… 我忘了……
然后配置 MySQL …… 来到 X:\Server\MySQL …… 里头应该有若干个 ini 文件…… 我们根据自己的需要任取一个(大同小异…… 仅仅是默认配置不同…… 你也可以自行修改的)…… 由于我仅仅为了本地的开发调试,所以选择了 my-small.ini …… 将其复制一份…… 命名为 my.ini…… 用文本编辑器打开它:
搜索:
[mysqld]
在下方加入以下字符行:
#MySQL 安装目录
basedir=X:/Server/MySQL
#MySQL 默认数据目录
datadir=X:/Server/MySQL/data
# 默认字符集…… 设置为 UTF8 吧
default-character-set=utf8
# 默认储存引擎…… 还是回到 MyISAM 时代吧…… InnoDB 被甲骨文买了…… 虽然开源…… 但……
default-storage-engine=MyISAM
再在文档最下方加入:
[WinMySQLAdmin]
Server=X:/Server/MySQL/bin/mysqld-nt.exe
MySQL 配置完成…… 下面可以启动试试…… 打开 cmd.exe…… 输入:
net start MySQL
若显示‘MySQL服务已经启动成功’…… 则表示…… 则表示这句话说得没错…… 否则请回头检查……
服务器启动了…… 我们就可以登录试试了……
>cd /d X:\Server\MySQL\bin 回车
接着登陆
>MySQL -u root -p
由于 root 初始状态无密码,提示 Enter Password 时直接回车即可……
然后命令行进入 MySQL Shell 状态即表示‘入侵’成功……
如果你不想别人也用空密码入侵你,最好给 root 设置一个牛叉点儿的密码……
MySQL>set password for ‘root’@’localhost’ = old_password(’Password_for_root‘);
(这是 MySQL 5 的新命令,之前的版本请将 old_password 改成 password)
将其中 Passwor_for_root 更换为你自个儿的密码吧…… 别太简单……
提示 ‘Query Ok’ 表明修改成功。
不信?你可以 exit; 出去再登录试试……
至此…… MySQL 的安装工作完毕…… 详细的优化配置请参阅手册…… 至于 MySQL 与 PHP 的关联下面将提到……

=====================================
'www.knowsky.com
配置 PHP:

进入 X:\Server\PHP …… 将 PHP.ini-recommend 更名为 PHP.ini 并用文本编辑器打开……
修改错误报告级别…… 运行一些书写不规范的程序…… 你会发现满屏的‘错误’……
搜索:
error_reporting = E_ALL
修改为:
error_reporting = error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
由于是本地调试,我当然希望错误被输出供我调试……
搜索:
display_errors = Off
修改为:
display_errors = On
对于本地开发者,记录错误似乎没有必要……
搜索:
log_errors = On
修改为:
log_errors = Off
设置扩展库的路径是很必要的……
搜索:
extension_dir = “./”
修改为:
extension_dir = “X:/Server/PHP/ext”
PHP 5 默认是不开启对 MySQL 的支持的……
搜索:
;extension=PHP_MySQL.dll
去掉前面的分号:
extension=PHP_MySQL.dll
另外,vBulletin 早已启用了对 Mysqli 的支持…… 所以这里我们引入 MySQL 扩展库……
搜索:
extension=PHP_MySQL.dll
在下方加入:
extension=PHP_mysqli.dll
当然,为了更好的使用 vBulletin 的一些图象相关功能,我们需要启用 GD2 库……
搜索:
;extension=PHP_gd2.dll
去掉前面的分号:
extension=PHP_gd2.dll
我们还希望对一些较常用的库进行调用,比如 PHP_mbstring.dll 、 PHP_curl.dll 、 PHP_sockets.dll 、 PHP_xmlrpc.dll 等等…… 开启方法同上……
(这里仅启用了常用扩展…… 其它的扩展请自行根据需要定夺……)
虽然 vBulletin 使用了其内建 Session 机制,但 PHP 的 Session 机制在很多程序中是必备的……
搜索:
;session.save_path = “/tmp”
修改为一个存在的路径里……
或者到发布目录下建立一个 tmp 目录……
这里我们选用前一种方法…… 先建立这样一个目录 X:\Session ……
然后修改为:
session.save_path = “X:/Session”
到这里基本就设置完毕了…… PHP 也能正常支持 MySQL 了…… 更详细的设置大家还是去翻手册了……

====================================
结语:

最基本的 WAMP 环境就配置完毕了…… 接下来我还配置了 Zend Optimizer 和 Subversion……由于不是标配…… 这里就不做介绍了……
其实 Apache 服务器也可以不用安装…… 可惜我未找到 2.2.2 的 ZIP 版本…… 而用 SRC 文件进行编译又太繁琐…… 所以干脆执行了安装程序…… 等我下一次重装系统时…… Apache 就变成绿色的了…… 让我们一起期待…… (大概两年后?)
呃……………… 想到甚么再补充进来吧……



Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La relation entre l'utilisateur de MySQL et la base de données La relation entre l'utilisateur de MySQL et la base de données Apr 08, 2025 pm 07:15 PM

Dans la base de données MySQL, la relation entre l'utilisateur et la base de données est définie par les autorisations et les tables. L'utilisateur a un nom d'utilisateur et un mot de passe pour accéder à la base de données. Les autorisations sont accordées par la commande Grant, tandis que le tableau est créé par la commande Create Table. Pour établir une relation entre un utilisateur et une base de données, vous devez créer une base de données, créer un utilisateur, puis accorder des autorisations.

MySQL doit-il payer MySQL doit-il payer Apr 08, 2025 pm 05:36 PM

MySQL a une version communautaire gratuite et une version d'entreprise payante. La version communautaire peut être utilisée et modifiée gratuitement, mais le support est limité et convient aux applications avec des exigences de stabilité faibles et des capacités techniques solides. L'Enterprise Edition fournit une prise en charge commerciale complète pour les applications qui nécessitent une base de données stable, fiable et haute performance et disposées à payer pour le soutien. Les facteurs pris en compte lors du choix d'une version comprennent la criticité des applications, la budgétisation et les compétences techniques. Il n'y a pas d'option parfaite, seulement l'option la plus appropriée, et vous devez choisir soigneusement en fonction de la situation spécifique.

Comment optimiser les performances MySQL pour les applications de haute charge? Comment optimiser les performances MySQL pour les applications de haute charge? Apr 08, 2025 pm 06:03 PM

Guide d'optimisation des performances de la base de données MySQL dans les applications à forte intensité de ressources, la base de données MySQL joue un rôle crucial et est responsable de la gestion des transactions massives. Cependant, à mesure que l'échelle de l'application se développe, les goulots d'étranglement des performances de la base de données deviennent souvent une contrainte. Cet article explorera une série de stratégies efficaces d'optimisation des performances MySQL pour garantir que votre application reste efficace et réactive dans des charges élevées. Nous combinerons des cas réels pour expliquer les technologies clés approfondies telles que l'indexation, l'optimisation des requêtes, la conception de la base de données et la mise en cache. 1. La conception de l'architecture de la base de données et l'architecture optimisée de la base de données sont la pierre angulaire de l'optimisation des performances MySQL. Voici quelques principes de base: sélectionner le bon type de données et sélectionner le plus petit type de données qui répond aux besoins peut non seulement économiser un espace de stockage, mais également améliorer la vitesse de traitement des données.

Intégration RDS MySQL avec Redshift Zero ETL Intégration RDS MySQL avec Redshift Zero ETL Apr 08, 2025 pm 07:06 PM

Simplification de l'intégration des données: AmazonrDSMysQL et l'intégration Zero ETL de Redshift, l'intégration des données est au cœur d'une organisation basée sur les données. Les processus traditionnels ETL (extrait, converti, charge) sont complexes et prennent du temps, en particulier lors de l'intégration de bases de données (telles que AmazonrDSMysQL) avec des entrepôts de données (tels que Redshift). Cependant, AWS fournit des solutions d'intégration ETL Zero qui ont complètement changé cette situation, fournissant une solution simplifiée et à temps proche pour la migration des données de RDSMySQL à Redshift. Cet article plongera dans l'intégration RDSMYSQL ZERO ETL avec Redshift, expliquant comment il fonctionne et les avantages qu'il apporte aux ingénieurs de données et aux développeurs.

L'optimisation des requêtes dans MySQL est essentielle pour améliorer les performances de la base de données, en particulier lorsqu'elle traite avec de grands ensembles de données L'optimisation des requêtes dans MySQL est essentielle pour améliorer les performances de la base de données, en particulier lorsqu'elle traite avec de grands ensembles de données Apr 08, 2025 pm 07:12 PM

1. Utilisez l'index correct pour accélérer la récupération des données en réduisant la quantité de données numérisées SELECT * FROMMLOYEESEESHWHERELAST_NAME = 'SMITH'; Si vous recherchez plusieurs fois une colonne d'une table, créez un index pour cette colonne. If you or your app needs data from multiple columns according to the criteria, create a composite index 2. Avoid select * only those required columns, if you select all unwanted columns, this will only consume more server memory and cause the server to slow down at high load or frequency times For example, your table contains columns such as created_at and updated_at and timestamps, and then avoid selecting * because they do not require inefficient query se

Comment remplir le nom d'utilisateur MySQL et le mot de passe Comment remplir le nom d'utilisateur MySQL et le mot de passe Apr 08, 2025 pm 07:09 PM

Pour remplir le nom d'utilisateur et le mot de passe MySQL: 1. Déterminez le nom d'utilisateur et le mot de passe; 2. Connectez-vous à la base de données; 3. Utilisez le nom d'utilisateur et le mot de passe pour exécuter des requêtes et des commandes.

MySQL: la facilité de gestion des données pour les débutants MySQL: la facilité de gestion des données pour les débutants Apr 09, 2025 am 12:07 AM

MySQL convient aux débutants car il est simple à installer, puissant et facile à gérer les données. 1. Installation et configuration simples, adaptées à une variété de systèmes d'exploitation. 2. Prise en charge des opérations de base telles que la création de bases de données et de tables, d'insertion, d'interrogation, de mise à jour et de suppression de données. 3. Fournir des fonctions avancées telles que les opérations de jointure et les sous-questionnaires. 4. Les performances peuvent être améliorées par l'indexation, l'optimisation des requêtes et le partitionnement de la table. 5. Prise en charge des mesures de sauvegarde, de récupération et de sécurité pour garantir la sécurité et la cohérence des données.

Comprendre les propriétés acides: les piliers d'une base de données fiable Comprendre les propriétés acides: les piliers d'une base de données fiable Apr 08, 2025 pm 06:33 PM

Une explication détaillée des attributs d'acide de base de données Les attributs acides sont un ensemble de règles pour garantir la fiabilité et la cohérence des transactions de base de données. Ils définissent comment les systèmes de bases de données gérent les transactions et garantissent l'intégrité et la précision des données même en cas de plantages système, d'interruptions d'alimentation ou de plusieurs utilisateurs d'accès simultanément. Présentation de l'attribut acide Atomicité: une transaction est considérée comme une unité indivisible. Toute pièce échoue, la transaction entière est reculée et la base de données ne conserve aucune modification. Par exemple, si un transfert bancaire est déduit d'un compte mais pas augmenté à un autre, toute l'opération est révoquée. BeginTransaction; UpdateAccountSsetBalance = Balance-100Wh

See all articles