刚开始学习php的时候不少人应该都碰到过搭建开发环境的问题吧,我当时也遇到过很多坑,特此记录一下,希望能为其他人提供一些帮助。
首先是去官网下载压缩包:
不知道下载地址的戳下面:
Apache服务器:https://www.apachelounge.com/download/
MySQL数据库:https://dev.mysql.com/downloads/mysql/
PHP:https://www.php.net/downloads.php
phpMyAdmin:https://www.phpmyadmin.net/
请确保你的操作系统已经安装了相关的VC++运行库。
接下来,新建一个wamp文件夹,把下载好的文件解压到这里。注意将phpMyAdmin解压到Apache24的htdocs目录,这是访问服务器的默认目录,建议给它建立一个桌面快捷方式。然后将这些文件夹重命名一下:
先来配置Apache服务器吧,打开~/WAMP/Apache/conf/httpd.conf,找到路径定义Define SRVROOT(大约在37行),修改为你解压目录的地址同时加入php模块地址,注意Windows不区分大小写,正斜杠也可以在路径中使用:
1 Define SRVROOT "d:/wamp/apache" 2 PHPIniDir "d:/wamp/php" 3 LoadModule php7_module d:/wamp/php/php7apache2_4.dll 4 AddType application/x-httpd-php .html .php
然后取消掉ServerName(229行左右)前面的注释符:
最后修改DirectoryIndex(288行左右),将index.php加入默认主页:
接着,配置php环境,复制php文件夹下的php.ini-development更名为php.ini,修改extension_dir为ext文件夹解压的目录,我这里是解压在D盘:
然后启用mbstring、mysqli、pdo_mysql扩展:
mbstring确保phpMyAdmin的部分高级功能可以正常使用,mysqli和pdo_mysql都是数据库扩展,我比较喜欢用pdo,例如编写一个连接数据库的函数connect.php:
1 <?php 2 //返回连接数据库的对象 3 function connect() { 4 try { 5 $db = new PDO('mysql:host=localhost;dbname=upload', 'root', ''); 6 $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 7 $db->exec('use upload'); 8 } catch (PDOException $e) { 9 echo "Couldn't connect database:" . $e->getMessage(); 10 } 11 return $db; 12 } 13 ?>
在其他文件require 'connect.php'之后就能使用connect函数了,很方便吧~好了,进入正题,现在我们的php环境其实已经配置好了,不过我还是建议修改一下时区(也可以在程序里改):
现在来启动Apache服务器吧,以管理员身份打开cmd进入到~/wamp/apache/bin目录,在Windows下要进入其他分区输入盘符加冒号即可,例如“d:”,在该目录下执行:
1 httpd -k install 2 httpd -k start
可能会有防火墙提示,允许即可。
打开浏览器,输入localhost,看到如下画面即安装成功:
最后来配置一下MySQL数据库和MySQL的PHP可视化工具phpMyAdmin。先在MySQL的解压目录下新建一个my.ini:
1 [mysqld] 2 port = 3306 3 4 ; 选择5.x版本的加密插件 5 default_authentication_plugin = mysql_native_password 6 7 basedir = d:/wamp/mysql 8 datadir = d:/wamp/mysql/data
这里要指出的是我去年安装MySQL的时候是刚更新8.0,启用了新的加密插件导致PHP连不上MySQL,所以选择使用老版本的插件,最近一直学习前端开发也没去关注PHP社区不知道能不能用8.0的加密插件了,反正老版本的肯定兼容就行了~懒
以管理员身份打开控制台进入到~/wamp/mysql/bin目录输入如下指令:
1 mysqld install 2 mysqld --initializa-insecure 3 net start mysql
使用不安全的初始化mysql用户名为root密码为空,以后再设置密码即可。
连接数据库:$ mysql -u root -p
可以把该路径加入到用户环境变量里,就可以在任何路劲下使用mysql数据库,不过初学者还是喜欢使用图形化界面,那么我们就来配置一下phpMyAdmin。
进入到phpMyAdmin的解压路径找到config.sample.inc.php,将它改名为config.inc.php,同时修改$cfg['Servers'][$i]['AllowNoPassword']为true,即允许空密码登录:
往上在大约17行的位置找到$cfg['blowfish_secret'],这里需要设置一个长度为32位的字符串用来加密cookie,虽然现在是建议使用HTML5的Web存储。最后重启一下服务器使phpMyAdmin的配置生效:$ httpd -k restart
打开浏览器输入localhost/phpmyadmin打开并登录phpMyAdmin:
到这里,wamp的配置工作已经全部结束,不过,对于从事计算机开发的我们来说,“懒惰”是一种美德。于是我编写了一个批处理程序install.bat来自动搭建wamp环境:
1 @echo off 2 3 rem 配置apache服务器 4 echo Define SRVROOT "%cd%apache" > .apacheconfhttpd.conf 5 echo PHPIniDir "%cd%php" >> .apacheconfhttpd.conf 6 echo LoadModule php7_module %cd%phpphp7apache2_4.dll >> .apacheconfhttpd.conf 7 type .confhttpd.conf >> .apacheconfhttpd.conf 8 rem 建立www文件夹的桌面快捷方式 9 mklink /j %userprofile%Desktopwww .www 10 11 rem 配置php 12 echo [PHP] > .phpphp.ini 13 echo extension_dir = "%cd%phpext" >> .phpphp.ini 14 type .confphp.ini-development >> .phpphp.ini 15 rem 配置phpmyadmin 16 type .confconfig.sample.inc.php > .wwwphpmyadminconfig.inc.php 17 18 rem 安装并启动apache 19 .apacheinhttpd -k install 20 .apacheinhttpd -k start 21 22 rem 配置mysql数据库 23 type .confmy.ini > .mysqlmy.ini 24 echo basedir = %cd%mysql >> .mysqlmy.ini 25 echo datadir = %cd%mysqldata >> .mysqlmy.ini 26 rem 安装并初始化mysql用户名root密码为空 27 .mysqlinmysqld install 28 if not exist .mysqldata (.mysqlinmysqld --initialize-insecure) 29 net start mysql 30 rem 将mysql添加到环境变量 31 setx path "%path%;%cd%mysqlin" 32 33 pause
我将部分修改的不涉及到路径信息的配置文件放置在conf文件夹,然后将服务器的默认访问目录设置到新建的www文件夹。大致目录如下,请将apache、mysql和php分别解压到对应目录:
演示效果如下: