首先介绍一下项目的基本情况:使用PHP语言开发,数据库用的是MySQL 5.5,HTTP服务器用的是Apache 2.2。早上十点到机房看了看服务器的基本情况:Windows 2000操作系统,没有安装Apache,没有php,幸好已经安装了MySQL数据库,替我省了点事。不过开心得有点太早了,机房老师告诉我她也不知道MySQL的登录密码。没有密码我的项目就没法连接数据库了,基本上等于废了。重装MySQL也没用,因为删除MySQL后原来的密码还是会保留在系统中,如果要修改密码,还是需要输入原来的密码。翻了一下以前师兄部署后留下的资料,有一个MySQL的密码,但是是错误的,没办法,只能求助于万能的“谷哥”了。

刚开始搜到的解决办法大多提到MySQL安装目录中bin文件夹里的一个程序mysqld-nt.exe,通过调用这个程序并向它传递“--skip-grant-tables”命令来告诉MySQL跳过登录时的密码验证过程,即不用输入密码也可以登录成功。可是我在我的bin目录中找不到这个mysqld-nt程序啊,奇怪,继续Google,发现原来MySQL从版本5.1开始之后就没有mysqld-nt这个程序了,取而代之的是mysqld.exe,所以这个方法也就行不通了。

发挥“不到黄河不死心”的精神,继续Google,终于让我找到了一个适合我的MySQL数据库版本的解决方法,这里附上链接:windows环境中mysql忘记root密码的解决办法。基本思路是一样的:都是首先关掉MySQL的服务,然后使用mysqld程序跳过权限安全检查,登录数据库并在mysql库中找到user表,修改user表中root用户的密码,最后重新开启MySQL的服务就可以以新的密码登录了。

搞定数据库后,将我开发时使用的php5文件夹复制到服务器上,因为开发的时候已经把所需要的扩展打开了,这里就不需要再重复操作了。唯一需要修改的是php.ini配置文件中“extension_dir”配置项,将它指定为php扩展动态链接库文件夹在服务器上的位置就可以了。因为使用到了MySQL数据库,需要将libmysql.dll文件复制到C:/Windows/System32下。

然后安装Apache服务器,使用的是msi安装程序,简单的一路next就可以了。安装完后,需要对httpd.conf文件进行修改。

1、加载php模块

打开httpd.conf文件,找到“#LoadModule vhost_alias_module modules/mod_vhost_alias.so”,在它的后面添加以下内容:

1
2
3
4
LoadModule php5_module "C:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
PHPIniDir "C:/php"

其中引号内的内容需要修改为php文件夹在服务器上的路径。

2、修改监听端口

因为服务器上安装了Tomcat,它使用了Apache默认的80端口,所以这里要修改Apache的监听端口,否则Apache将无法启动。在httpd.conf文件中找到“Listen 80”,将80端口修改为其他端口。

3、添加目录首页

Apache默认的目录首页只有index.html这一个,但是项目的首页是index.php,在httpd.conf文件中找到“DirectoryIndex ”项,在后面添加“index.php”。

最后在数据库中导入预先写好的SQL文件,创建好数据库,并将项目复制到Apache的文档根目录中,修改项目配置文件中数据库连接所使用的用户名和密码,启动服务器,在浏览器中输入项目访问地址,一切正常。好,部署成功,收工,吃饭! \(^o^)/

PHP环境(apache,PHP,Mysql)详细配置方法

安装前的准备:下载PHP,apache,mysql安装包,可以到相关官网上下载,下面是安装步骤

1.安装Apache ,直接运行安装即可,我们将其安装到D:/PHP/Apache/ 目录下

2.PHP压缩包解压内容放到指定PHP目录(自己指定这里是D:/PHP/,并重命名为PHP5,将PHP5目录中的PHP.iniDevelopment重命名为php.ini

3.修改Apache配置文件(D:\PHP\Apache\conf\httpd.conf)

1.加载PHP模块 在Apache配置文件添加

LoadModule php5_module "D:/PHP/PHP5/php5apache2_2.dll"  //D:/PHP/PHP5/为php安装目录

2. 添加AddType application/x-httpd-php .php .phtml //设置apache解文件类型

//指定php配置文件路径

3. 添加phpinidir "D:/PHP/PHP5" 设置php配置文件目录(先确保PHP安装目录中的PHP.iniDevelopment重命名为php.ini)

4.重启Apache

5.验证PHP是否安装成功

这里我们在D:\PHP\Apache\htdocs目录下创建一个phpinfo.php文件输入以下内容

  1. <?php
  2. phpinfo();
  3. ?>

然后打开浏览器输入http://localhost/phpinfo.php  ,默认的是80端口,如果不是80端口localhost后面必须加端口号,如果安装成功,则打开PHP相关信息页面,否则检查相关目录是否安装正确

6.安装mysql服务,直接运行mysql安装文件,按照提示一步一步的执行安装操作

5添加Mysql模块

1.在PHP5目录下ext目录找到libMysql.dll或php_mysql.dll和 php_mysqli.dll 复制到C盘Windows目录下

2.打开PHP配置文件

1.取消extension=php_mysql.dll和extension=php_mysqli.dll前面分号去掉

2.在php.ini中设置扩展路径extension_dir="D:/PHP/PHP5/ext"

3.重启Apache

4.在浏览器再次访问phpinfo.php页面,如果页面信息多了mysql和mysqli列表示添加模块成功,否则重新检查上述步骤

验证mysql是否

 

记一次PHP项目部署过程的更多相关文章

  1. django项目部署过程

    django项目部署过程 1.上传代码 用git或者其他工具,如scp 代码上传后保证每个应用下的migrations文件夹里只有一个__init__.py文件,自己的迁移文件不要上传上来,具体的gi ...

  2. 记一次vue2项目部署nginx静态文件404解决过程

    github上下的一个vue2的项目,运行可以的,webpack打包后,nginx请求报错: 发现路径很奇怪啊,所以果断来到build.js文件中看看是不是哪里不对. 已经一番引用查找: 发现在这里配 ...

  3. 记一次JAVAWEB项目部署

    需求 原本服务器上tomcat部署了一个javaweb项目在80端口,这次要部署另一个javaweb项目在8090端口,或者同时部署在同一端口不同目录下. 解决方法 不同端口部署 不同端口部署我们需要 ...

  4. [linux,springboot] - 记一次java项目部署

    之前部署的java项目,打包war包后放入tomcat下,并配置conf下的server.xml,设置war包路径,设置是否自动解包与否等操作. 然后重启tomcat,稍等片刻,(web)java项目 ...

  5. 记一次Hadoop安装部署过程

    实验名称:Hadoop安装部署 一.实验环境: 虚拟机数量:3个 (1个master,2个slave:slave01,slave02) 主节点master信息: 操作系统:CentOS7.5 软件包位 ...

  6. 记一次Pinpoint监控工具部署过程

    环境:Centos 7.4 X64IP:192.168.1.11 1.配置环境,先安装jdk 到Oracle官网下载安装JDK https://www.oracle.com/technetwork/j ...

  7. 在裸机centos7系统中部署django项目的过程

    概要 本文用一台安装了centos7.5系统的裸奔Linux机器(当然是虚拟机)详细讲解从无到有部署django项目的过程. 安装必要的工具 配置yum源 至于什么是yum源大家请自行百度,本人用的是 ...

  8. Django Web项目部署参考

    环境准备:1.Python 2.7.*]2.pip3.sudo pip install django4.sudo aptitude show python-setuptools5.sudo aptit ...

  9. 基于python的种子搜索网站-项目部署

    本讲会对种子搜索网站的部署过程进行详细的讲解. 网站演示: https://bt.mypython.me 源码地址: https://github.com/geeeeeeeek/bt 项目部署过程 系 ...

随机推荐

  1. Linux管道的实现机制

    7.1.1 Linux管道的实现机制 在Linux中,管道是一种使用非常频繁的通信机制.从本质上说,管道也是一种文件,但它又和一般的文件有所不同,管道可以克服使用文件进行通信的两个问题,具体表现为: ...

  2. 2012年7月12 – 腾讯公司 WEB高级应用开发工程师 最新面试题 [转]

    笔试(45 minute):(本来是四张纸,被我弄丢了一张!无伤大雅,难度级别不会有出入) 注意:由于时间紧迫和水平有限,难免有不足或错误,请指证,虚心学习! [PHP] 写出PHP中至少5个全局变量 ...

  3. JavaScript中Element与Node的区别,children与childNodes的区别

    关于Element跟Node的区别,cilldren跟childNodes的区别很多朋友弄不清楚,本文试图让大家明白这几个概念之间的区别. Node(节点)是DOM层次结构中的任何类型的对象的通用名称 ...

  4. ecshop 删除随机版权

    删除随机版权: js/commjon.js -> onload = function()函数

  5. C# 创建系统服务并定时执行【转载】

    [转载]http://www.cnblogs.com/hfzsjz/archive/2011/01/07/1929898.html C# 创建系统服务并定时执行 1.新建项目 --> Windo ...

  6. 【解题报告】[动态规划] CodingTrip - 携程编程大赛 (预赛第一场)- 聪明的猴子

    原题: 聪明的猴子 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Problem D ...

  7. JSP的九个隐式(内置)对象

    1.out 转译后对应JspWriter对象,其内部关联一个PrintWriter对象.是向客户端输出内容常用的对象. 2.request 转译后对应HttpServletRequest对象.客户端的 ...

  8. 使用C#代码审批/转签K2 Blackpearl流程

    转:http://www.cnblogs.com/dannyli/archive/2011/08/02/2125302.html 以下是使用代码审批.转签k2 blackpearl流程,初探K2 Bl ...

  9. arcgis for android 无法加载本地jpg影像解决办法

    因为jpg影像没有生成金子塔文件*.rrd 一个完整的JPG影像必须包括如下文件: K-50-96-(16).aux  辅助文件K-50-96-(16).jgw  坐标信息K-50-96-(16).j ...

  10. Android通过代码获取View

    View view = LayoutInflater.from(mContext).inflate(R.layout.song_item_adapter, null); LayoutInflater ...