Windows平台安装Apache2.4+PHP7+MySQL5.7安装经验
2017-09-25 16:25
411 查看
基本说明
软件版本:Apache2.4+PHP7+MySQL5.7 (MySQL Workbench可选)(尤其是PHP7对于安装的影响比较大,因为旧的教程并没有更新一些细节)
电脑环境:Java1.8.0+MinGW
重点问题
本文解决了以下多个问题,如果您的问题不被包含,您可以参考其他博主的文章。全部使用下载压缩包的方式安装配置(除了MySQL Workbench)
各个软件同一版本不同系列的推荐
减少不必要的操作(包扩减少环境变量的配置与减少配置文件的修改量)
主要针对64位电脑进行说明,尽可能使用64软件
Apache 因VC++环境缺失而无法启动
443端口冲突导致Apache无法启动(检测与部分解决方案)
Apache因配置不当出现 403 Forbidden(You don’t have permission to access / on this server.)
MySQL Workbench 因VC++环境缺失而无法安装
MySQL数据库root帐号的初始密码
PHP7配置正确却连不上MySQL数据库(Fatal error: Call to undefined function mysql_connect())
软件下载
VC++ 2015:版本:vc_redist.x64.exe(Microsoft Visual C++ 2015 Redistributable Package x64)。https://www.microsoft.com/en-us/download/details.aspx?id=48145
Apache2.4:版本:httpd-2.4.27-x64-vc14.zip。官方不提供编译后的软件,该链接为官方推荐的第三方下载链接
https://www.apachehaus.com/cgi-bin/download.plx
PHP7.1.9:版本:VC14 x64 Thread Safe。不推荐Non Thread Safe版本(原因略)
http://windows.php.net/download#php-7.1
MySQL5.7.19:版本:MySQL Community Server。
https://www.mysql.com/products/community/
Apache安装
下载并解压文件修改“Apache.conf”行数为大致的行数,请根据自身情况进行调整。
#Line38-39 #Software installation directory Define SRVROOT "C:\ProgramZIP\Apache24" ServerRoot "${SRVROOT}" #Line74 #Solve the 403 problem(Part 1) LoadModule access_compat_module modules/mod_access_compat.so #Line183-187 # php7 support LoadModule php7_module "C:/ProgramZIP/php-7.1.9/php7apache2_4.dll" AddType application/x-httpd-php .php .html .htm # configure the path to php.ini PHPIniDir "C:/ProgramZIP/php-7.1.9" #Line236-241 #Solve the 403 problem(Part 2) <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow allow from all </Directory> #Line284-289 #Set alias for development(Optional) Alias /php "D:/Workspace/Development/PHP" <Directory "D:/Workspace/Development/PHP"> AllowOverride all Order allow,deny Allow from all </Directory>
3.安装调试Apache
该步操作需要在有管理员权限的命令行中执行,,注意当前路径的选择。
第一行是安装注册apache的命令,第二步是启动apache的命令。
如果第二行启动失败,可以执行第三行,以检查在启动过程中何处出现问题。
C:\ProgramZIP\Apache24\bin> httpd.exe -k install C:\ProgramZIP\Apache24\bin> net start apache C:\ProgramZIP\Apache24\bin> httpd.exe -n "apache" -t
443端口占用
如果出现提示443端口被占用,可以通过命令netstat -aon|findstr "443"查看是哪个软件占用了该端口,视情况调整或关闭该软件(不推荐修改apache配置绕过该问题)。
本人在该情况下发现是VMware占用了该端口,在”VMware->编辑->首选项->共享虚拟机”中可以修改该设置,所以我这边443端口被占用的情况就被解决了。
效果
至此我们已经完成了Apache的安装,可以通过安装目录下的”ApacheMonitor.exe”启动Apache服务器通过127.0.0.1访问到测试首页。
MySQL安装
1.下载并解压文件2.添加环境变量
C:\ProgramZIP\mysql-5.7.19\bin表示安装目录下的bin文件夹,请自行调整路径。
(理论上不配置环境变量也可以实现数据互通,但是不添加环境变量用命令行执行操作就很麻烦)
3.在安装目录中创建”my.ini”文件,用记事本编辑该文件,”basedir”是安装目录,”datadir”是数据库存放的文件夹(该文件夹的路径可自定义,但是必须是空的data文件夹)
[client] port=3306 default-character-set=utf8 [mysqld] port=3306 character_set_server=utf8 basedir=C:/ProgramZIP/mysql-5.7.19 datadir=D:/SQLDatabase/MySQL/data
4.安装调试MySQL
该步操作需要在有管理员权限的命令行中执行,注意当前路径的选择。
第一步为初始化数据库,第二步为注册服务,第三步为开启服务。
C:\ProgramZIP\mysql-5.7.19\bin> mysqld --initialize C:\ProgramZIP\mysql-5.7.19\bin> mysqld -install MySQL C:\ProgramZIP\mysql-5.7.19\bin> net start MySQL
5.修改MySQL数据库密码
在自己创建的data文件夹中有一个名叫“XXXXXX.err”的文件,用记事本打开该文件。
找到”A temporary password is generated for root@localhost:”一行
该行最后的随机字符就是新建的MySQL数据库root帐号的默认密码。
然后在命令行中执行命令
C:\ProgramZIP\mysql-5.7.19\bin>mysql -u root -p Enter password: ************ ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
Workbench
如果你安装了Workbench,此时可以开启软件连接到MySQL数据库,并进行操作,附图。PHP安装
1.下载并解压文件2.将”php.ini-development”文件复制一份并命名为”php.ini”,用记事本打开并修改。
ext文件夹路径需要根据自身情况做出调整,另外仅需要加载两个模块即可。
extension_dir = "C:/ProgramZIP/php-7.1.9/ext" #Line738 extension=php_mysqli.dll #Line905 extension=php_pdo_mysql.dll #Line909
3.保存文件,重启Apache
PHP测试
信息页面测试
测试代码<?php phpinfo(); ?>
测试效果
连接数据库测试
注意各教程版本本文使用的是PHP7
应使用测试代码
<?php $host = "127.0.0.1"; //mysql主机地址 $user = "root"; //mysql 登录账户 $pwd = "mypassword"; //mysql登录密码 $conn = new mysqli($host, $user, $pwd); //连接数据库 if (!$conn) {//判断 echo '连接数据库失败: ' . mysql_error(); } echo "mysql 连接成功!"; mysqli_close($conn); // 关闭mysql连接 ?>
而不是旧的
<?php $host = "127.0.0.1"; //mysql主机地址 $user = "root"; //mysql 登录账户 $pwd = "mypassword"; //mysql登录密码 $conn = mysql_connect($host, $user, $pwd); //连接数据库 if (!$conn) {//判断 echo '连接数据库失败: ' . mysql_error(); } echo "mysql 连接成功!"; mysql_close(); // 关闭mysql连接 ?>
区别在于
$conn = new mysqli($host, $user, $pwd); $conn = mysql_connect($host, $user, $pwd); mysqli_close($conn); mysql_close();
测试页面
这可是PHP7呀,语法都不一样了,旧的方法已经不能用了,
肯定会报
Fatal error: Call to undefined function mysql_connect()
网上各种大佬又是添加环境变量,又是下载dll,又是把dll放在system里的,
我有一句mmp不知道当不当讲,一个这么出色的软件安装怎么可能那么繁琐??
很少有软件安装还需要对系统文件夹进行修改的,至少我没见过。
你们完全就是误人子弟,把PHP5的文件强行搬到PHP7里用。
呸,就知道抄,都不知道试试。
脑子是个好东西。
相关文章推荐
- windows环境下面安装Apache2.4+MySql5.7+PHP5.6
- Windows下安装php7+Apache2.4+MySQL
- windows安装PHP5.4+Apache2.4+Mysql5.5的方法
- 【RedHat】手动编译安装部署Apache2.4、PHP7.1、MySql5.7开发环境
- windows安装PHP5.4+Apache2.4+Mysql5.5
- Windows安装Apache2.4和PHP5.6
- windows安装PHP5.5+Apache2.4+Mysql5.5
- windows7安装apache2.4+mysql5.7+php7.1
- windows安装PHP5.4+Apache2.4+Mysql5.5
- windows安装PHP5.4+Apache2.4+Mysql5.5
- windows 下Apache2.4与PHP5.6安装
- windows apache2.4 + php-5.5.19-nts 非线程安全的安装
- windows安装PHP5.4+Apache2.4+Mysql5.5
- windows安装php5.4+apache2.4+Mysql5.5
- windows安装PHP5.4+Apache2.4+Mysql5.5
- windows安装PHP5.4+Apache2.4+Mysql5.5
- windows安装PHP5.4+Apache2.4+Mysql5.5
- windows安装php5.6和apache2.4,相对于老版本的一些新的变动