ホームページ データベース mysql チュートリアル 搭建PHP开发环境 apache+MySQL+PHP 安装phpMyAdmin模块

搭建PHP开发环境 apache+MySQL+PHP 安装phpMyAdmin模块

Jun 01, 2016 pm 01:08 PM

phpmyadminApache

该博文参考的资料来源于:

http://wenku.baidu.com/view/0e4c569ddd3383c4bb4cd267.html

http://www.cnblogs.com/pharen/archive/2012/02/06/2340628.html  

http://www.admin10000.com/document/54.html

http://blog.csdn.net/zutsoft/article/details/21651041

昨天花了差不多一天的时间,跳过无数“坑”之后,把WAMP环境给搭建上了。为何说坑,是因为不理解不知道,原来最新版的apache和最新版的php5.5存在不兼容的问题。还有Thread safe 和no thread safe版本之间的区别,PHP版本中的VC6、VC9、VC11之间的区别,现在记录一下我搭建的过程。包括各种谷歌后学习到的内容。

一、准备工作,下载软件

注:以下是我使用的版本。

apache:httpd-2.2.22-win32-x86-openssl-0.9.8t.

下载地址: http://www.apache.org/

MySQL:mysql-installer-community-5.6.19.0.msi

下载地址: http://dev.mysql.com/downloads/windows/installer/

PHP:php-5.3.1-Win32-VC6-x86

下载地址: http://windows.php.net/downloads/releases/archives/

二、开始安装软件

(一)安装apache

 双击安装,与安装其他Windows软件没有什么区别,在填Server Infomation时,并没有特殊规定,只要输入的信息符合格式即可。

(注:这里选择安装类型,我一般选择Custom,这里可以自己设置安装路径,看自己喜欢)

安装完成之后,在浏览器输入http://localhost,如果显示It Works!,表示Apache安装成功。

(二)安装PHP

安装PHP :将php-5.3.1-Win32-VC9-x86.zip解压到一个目录即可。 

(三)安装MySQL

插一句,昨天是因为下载错MySQL,所以搞得很头疼,建议到官网下载,我上面发的那个链接,下载的那个版本是ok的。

双击安装,如果需要更改安装目录,则在Choose Setup Type 选择Custom( 我比较喜欢自定义安装,建议选择自定义Custom

 

 

MySQL下载完成后,找到下载到本地的文件,按照下面所示的步骤双击进行安装: 

步骤1:双击MySQL安装程序(mysql-installer-community-5.6.10.1)会弹出如下图1.4所示:  

 

步骤2:单击图1.4中的“Install MySQL Products” 文字,会弹出的用户许可证协议窗口, 如下图1.5所示:

步骤3:选中“I accept the license terms” 的前面的选择框,然后点击【Next】按钮,会进入查         找最新版本界面,效果如下图1.6所示:

步骤4:单击【Execute】按钮,会进入安装类型设置界面,效果如下图1.7所示。

步骤5:选择图1.7中的“Custom”选项,可修改安装路径或保持默认值,然后单击【Next】按钮,    弹出功能选择界面,如下图1.8所示。 

步骤6:单击【Next】按钮,弹出安装条件检查界面,如下图1.9所示。

步骤7:单击【Next】按钮,进行安装界面,如下图1.10所示。

步骤8:单击【Execute】按钮,开始安装程序。当安装完成之后安装向导过程中所做的设置将在安装完成        之后生效,如下图1.11所示的窗口

步骤9:单击【Next】按钮,会进入服务器配置页面,效果如下图1.12所示。

步骤10:单击【Next】按钮,效果如下图1.13所示。

图1.13中的“Server Configuration Type”下面的“Config Type”下拉列表项用来配置当着服务器的类 型。选择哪种服务器将影响到MySQL Configuration Wizard(配置向导)对内存、硬盘和过程或使用的决策,可以选择如下所示的3种服务器类型:

 Developer Machine(开发机器):该选项代表典型个人用桌面工作站。假定机器上运行着多个桌面应用程序。将MySQL服务器配置成使用最少的系统资源。

  Server Machine(服务器):该选项代表服务器,MySQL服务器可以同其它应用程序一起运行,例如FTP、email和web服务器。MySQL服务器配置成使用适当比例的系统资源。 

 Dedicated MySQL Server Machine(专用MySQL服务器):该选项代表只运行MySQL服务的服务器。

假定运行没有运行其它应用程序。MySQL服务器配置成使用所有可用系统资源。 

作为初学者,选择“Developer Machine”(开发者机器)已经足够了,这样占用系统的资源不会很多。

在Enable TCP/IP Networking左边的复选框中可以启用或禁用TCP/IP网络,并配置用来连接MySQL服务器的端口号,默认情况启用TCP/IP网络,默认端口为3306。要想更改访问MySQL使用的端口,直接在文本输入框中输入新的端口号即可,但要保证新的端口号没有被占用。

步骤11:单击【Next】按钮,在图1.13所对应的界面中,我们需要设置root用户的密码,在“MySQL Root password”(输入新密码)和“Repeat Password”(确认)两个编辑框内输入期望的密码。也可以单击下面的【Add User】按钮另行添加新的用户。(注:Current Root Password:为空;如果输入密码了在后面安装会报错)

步骤12:单击【Next】按钮,设置Windows Service Name,此名为启动数据库服务名,要记住。 

效果如下图1.14所示。

步骤13:单击【Next】按钮,打开配置信息显示页面,如下图1.15所示。

步骤14:单击【Next】按钮,即可完成MySQL数据库的整个安装配置过程。接下来就可以登录上我们的MySQL数据库进行操作了。

Example:启动MySQL

可以直接使用命令行:

三、整合Apache+MySQL+PHP

(一) 配置Apache

首先使用文本编辑工具(推荐 EditPlus )打开 E:/Program Files/Apache Software Foundation/Apache2.2/conf/httpd.conf 文件,这个文件是Apache的配置文件,下面几步都是在修改这个文件的内容。 要注意的是修改完 httpd.conf 文件需重新启动Apache服务,新设置才会生效。

1、让Apache加载PHP模块

找到 #LoadModule vhost_alias_module modules/mod_vhost_alias.so (大概在第128行),在这行的后面添加以下内容:

	LoadModule php5_module "E:/StuSoftware/PHP/php/php5apache2_2.dll"	AddType application/x-httpd-php .php	PHPIniDir "D:/WAMP/PHP"
ログイン後にコピー

LoadModule php5_module "E:/StuSoftware/PHP/php/php5apache2_2.dll" /*你下载的需要是VC6的版本,不然找不到这个php5apache2——2.dll文件,这是我遇到的其中一个坑,待会儿下面再说*

这句意思是以module方式载入PHP5模块。

AddType application/x-httpd-php .php

这句意思就是将.php扩展名的文件作为php脚本执行。你可以使用你喜欢的任何其他扩展名,如 .html、.php5 甚至是 .txt  来执行PHP。

PHPIniDir "D:/WAMP/PHP"

这句用来指定PHP的配置文件php.ini 所在的目录。

如果是Apache 2 以module模块方式运行php5的话,就可以使用 PHPIniDir 指令。

2. 修改网站存放目录

我们知道Apache 默认的网站存放目录为Apache安装目录下的htdocs文件夹。 当你更改网站存放目录,就必须修改相应的Apache配置。

在配置文件 httpd.conf 中查找 DocumentRoot(大概在182行),将其修改为指向网站目录的正确文件夹。我们这里改为

	DocumentRoot "F:/Workspace/PHP"
ログイン後にコピー

同时,查找 This should be changed to whatever you set DocumentRoot to(大概在207行),在它下面有行 ,将其修改为你自己配置的DocumentRoot 路径。我们这里修改为:

	<directory></directory>
ログイン後にコピー

我的网站存放目录是这般的:

3. 修改目录首页文件

在配置文件 httpd.conf 中查找 DirectoryIndex index.html (大概在244行)(快捷键查找按ctrl+F)将其修改成:

DirectoryIndex index.html index.htm index.php
ログイン後にコピー

DirectoryIndex 指的是当客户浏览器访问的路径是一个目录时,Apache默认执行的文件。

以我们所修改的为例:当客户浏览器访问一个目录时,Apache会去找该目录下的index.html,如果没有再找index.htm,还没有再找 index.php。都找不到则默认显示该目录下的文件列表。参考文档: 如果防止Apache显示文件列表

(二)配置PHP

打开PHP安装目录,即E:/StuSoftware/PHP/php,我们可以看到目录下有两个这样的文件 php.ini-development 和 php.ini-production,第一个是开发使用的配置文件,第二个是生产环境的配置,因为我们是在本机做开发,所以选择前者。将php.ini-development复制一份到同目录下,并改名为 php.ini。这个php.ini 就是当前使用的配置文件,以下几步都是在修改这个php.ini文件的内容。要注意的是,修改php.ini文件后需重新启动Apache服务,新设置才会生效。

1. 指定PHP扩展库的存放目录

在Windows下PHP的扩展库通常以 DLL 形式存放在PHP的ext目录中。 使用文本工具打开php.ini文件,查找extension_dir = "ext"(大概在809行),也就是在 On windows 下面那一行。把它前面的分号“;”去除掉,改为如下:

extension_dir = "E:/StuSoftware/PHP/php/ext"
ログイン後にコピー

extension_dir 表示PHP扩展库的具体目录,以便调用相应的DLL文件。

2. 开启相应的扩展库

默认情况下许多PHP的扩展库都是关闭的,比如默认PHP不支持连接Mysql数据库,需开启相应的扩展库。

这里我们开启一些常用的扩展库。

查找 ; Windows Extensions(大概在941行),在它的下面是extension列表。

找到如下扩展:

;extension=php_curl.dll	;extension=php_gd2.dll	;extension=php_mbstring.dll	;extension=php_exif.dll	;extension=php_mysql.dll	;extension=php_mysqli.dll	;extension=php_pdo_mysql.dll	;extension=php_pdo_odbc.dll	;extension=php_sockets.dll	;extension=php_xmlrpc.dll	;extension=php_xsl.dll
ログイン後にコピー

把以上extension 前面的分号 “;” 去掉。如果你希望加载其它扩展模块,方法相同,只要去掉前面的分号即可。

提示1:重启Apache提示 “unable to load dynamic library......php_curl.dll”,加载php_curl.dll错误。解决方法是拷贝 PHP 目录下的 libeay32.dll 和 ssleay32.dll 到 windows 目录或 windows/system32 目录下,只要是系统 Path 环境变量里包含的路径就可以。如果不想拷贝,你也可以直接把 PHP 路径放到系统 Path 环境变量里。 右击我的电脑=>属性=>高级=>环境变量=>系统变量里有个Path,双击打开,把你的PHP路径加个分号“;”再前面( ;D:/WAMP/PHP ),添加进去就OK了。重启Apache不再提示该错误。

提示2:Exif 扩展是用来显示图片的 exif 信息的,因为该扩展需要 mbstring.dll 支持,所以必须将 extension=php_exif.dll 这一行写到extension=php_mbstring.dll 的后面。

提示3:如果PHP自带的扩展库不能满足你的需要,你可以去  pecl.php.net  查找并下载你需要的库。windows用户可以去  pecl4win.php.net  或者  http://downloads.php.net/pierre/  下载已经编译好的DLL文件,也可以去 http://museum.php.net/php5/  载PECL集合压缩包。

提示4:很多人在找php_zip.dll,其实从php5.3开始已经集成了zip扩展,直接使用就行了。你可以用 找到zip扩展的说明。

目前针对不同用户,MySQL提供了2个不同的版本:  MySQL Community Server:社区版,该版本完全免费,但是官方不提供技术支持。 

 

MySQL Enterprise Server:企业版,它能够高性价比的为企业提供数据仓库应用,支持ACID事物处理,提供完整的提交、回滚、崩溃恢复和行级锁定功能。但是该版本需付费使用,官方提供电话及文档等技术支持。 

目前最新的MySQL版本为MySQL 5.6,可以在官方网站http://dev.mysql.com/downloads/下载该软

件。下图1.2所示的MySQL官网上单击图片上的“Download”超链接 或 点击左边标记处,然后按照提示一步步操作就可以将MySQL软件下载到本地计算机中了。注意这里我们选择的是数据库版本是“Windows (x86, 32-bit), MSI Installer”,如下图1.3所示。

3. 让PHP支持短标签

在 php.ini 配置文件查找 short_open_tag = Off (大概在266行)把它修改成:short_open_tag = On 让其支持短标签。 php的代码一般包含在的标签内,设置 short_open_tag = On 之后,可以写成更简洁的形式: .... ?>。

4. 配置PHP的Session功能

在使用session功能时,我们必须配置session文件在服务器上的保存目录。我们需要为session建立一个可读写的目录,这个目录最好独立于网站目录之外。 这里把目录上建在了D:/WAMP/sessiontmp,然后在 php.ini 配置文件中找 ;session.save_path = "/tmp" (大概在1467行),去掉前面的分号“;” ,改为如下:

session.save_path = "D:/WAMP/sessiontmp"
ログイン後にコピー

5. 配置PHP的文件上传功能

同session一样,在使用PHP文件上传功能时,我们必须要指定一个临时文件夹以完成文件上传功能,否则文件上传功能会失败。 我们建立一个可读写的目录文件夹 D:/WAMP/fileuploadtmp,然后在 php.ini 配置文件中找到 ;upload_tmp_dir = (大概875行),修改为:

upload_tmp_dir = "D:/WAMP/fileuploadtmp"
ログイン後にコピー

PHP默认上传文件大小不超过2M,要想上传大于2M的文件,请参考文档 配置php.ini实现文件上传功能 。

6. 设置时区

在 php.ini 配置文件查找 ;date.timezone = (大概在993行),去掉前面的分号“;” 改为如下:

date.timezone = PRC
ログイン後にコピー

date.timezone是PHP5.1开始新增加的配置参数,用来设置时区。默认date.timezone是被注释掉的,也就是默认时区是UTC格林威治标准时间。 我们这里改为 date.timezone = PRC(PRC,People’s Republic of China,中华人民共和国),也就是日期使用中国的时区。这样可以解决时间相差八小时的问题。

(三)配置phpMyAdmin

直接在最开头给出的官网链接下载最新版的phpMyAdmin。

首先解压,然后将文件拷贝到网站根目录下,我的是F:/Workspace/PHP/phpMyAdmin

然后到浏览器访问http://localhost/phpMyAdmin/index.php

如图:

之前说的php的版本VC6/9/11的区别,以及Threadsafe和no Threadsafe的区别:

VC6版本是使用Visual Studio 6编译器编译的,如果你的PHP是用Apache来架设的,那你就选择VC6版本。(现在PHP已经没有VC6了)。

VC9意思就是该版本PHP是用VisualStudio2008编译的,而VC11则是用VisualStudio2012编译的。这意味着

如果你下载的是VC9版本的,就需要先安VisualC++RedistributableforVisualStudio2008SP1,

如果你下载的是VC11版本的,就需要先安VisualC++RedistributableforVisualStudio2012.

搭建php首先看操作系统的版本,如果是Windows的在这里下:http://windows.php.net/download/

操作系统是32位还是64位?如果是32位的,就选择带“x86”的版本,如果是64位的,就选择带“x64”的版本。然后看WEB服务器是什么? 如果是IIS系列,就选择带“Non Thread Safe”的版本,如果是Apache httpd系列,就选择带“Thread Safe”的版本 。如果是Apache httpd还要看这个二进制版本是怎么编译的,有三种编译类型,分别是:VC6、VC9、VC11(分别代表Visual C++ 6、Visual C++ 2008、Visual C++ 2012)。这里就有麻烦了:PHP官方的最新版本5.5已经用VC11编译,5.4是用VC9编译的。可是Apache httpd的最新版本呢,至今还是用VC6编译。这意味着一个惊人的事实:Apache httpd的官方版本和PHP的官方版本竟然是无法兼容的!

到这里,全部安装都完毕,WAMP平稳运行。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか? Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか? Mar 19, 2025 pm 03:51 PM

この記事では、MySQLのAlter Tableステートメントを使用して、列の追加/ドロップ、テーブル/列の名前の変更、列データ型の変更など、テーブルを変更することについて説明します。

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか? MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか? Mar 18, 2025 pm 12:01 PM

記事では、証明書の生成と検証を含むMySQL用のSSL/TLS暗号化の構成について説明します。主な問題は、セルフ署名証明書のセキュリティへの影響を使用することです。[文字カウント:159]

MySQLの大きなデータセットをどのように処理しますか? MySQLの大きなデータセットをどのように処理しますか? Mar 21, 2025 pm 12:15 PM

記事では、MySQLで大規模なデータセットを処理するための戦略について説明します。これには、パーティション化、シャード、インデックス作成、クエリ最適化などがあります。

人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか? 人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか? Mar 21, 2025 pm 06:28 PM

記事では、MySQLワークベンチやPHPMyAdminなどの人気のあるMySQL GUIツールについて説明し、初心者と上級ユーザーの機能と適合性を比較します。[159文字]

ドロップテーブルステートメントを使用してMySQLにテーブルをドロップするにはどうすればよいですか? ドロップテーブルステートメントを使用してMySQLにテーブルをドロップするにはどうすればよいですか? Mar 19, 2025 pm 03:52 PM

この記事では、ドロップテーブルステートメントを使用してMySQLのドロップテーブルについて説明し、予防策とリスクを強調しています。これは、バックアップなしでアクションが不可逆的であることを強調し、回復方法と潜在的な生産環境の危険を詳述しています。

外国の鍵を使用して関係をどのように表現しますか? 外国の鍵を使用して関係をどのように表現しますか? Mar 19, 2025 pm 03:48 PM

記事では、外部キーを使用してデータベース内の関係を表すことで、ベストプラクティス、データの完全性、および避けるべき一般的な落とし穴に焦点を当てています。

JSON列にインデックスを作成するにはどうすればよいですか? JSON列にインデックスを作成するにはどうすればよいですか? Mar 21, 2025 pm 12:13 PM

この記事では、クエリパフォーマンスを強化するために、PostgreSQL、MySQL、MongoDBなどのさまざまなデータベースでJSON列にインデックスの作成について説明します。特定のJSONパスのインデックス作成の構文と利点を説明し、サポートされているデータベースシステムをリストします。

共通の脆弱性(SQLインジェクション、ブルートフォース攻撃)に対してMySQLを保護するにはどうすればよいですか? 共通の脆弱性(SQLインジェクション、ブルートフォース攻撃)に対してMySQLを保護するにはどうすればよいですか? Mar 18, 2025 pm 12:00 PM

記事では、準備されたステートメント、入力検証、および強力なパスワードポリシーを使用して、SQLインジェクションおよびブルートフォース攻撃に対するMySQLの保護について説明します。(159文字)

See all articles