记一次PHP项目部署过程
首先介绍一下项目的基本情况:使用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 .phpAddType application/x-httpd-php-source .phpsPHPIniDir "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,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文件输入以下内容
- <?php
- phpinfo();
- ?>
然后打开浏览器输入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项目部署过程的更多相关文章
- django项目部署过程
django项目部署过程 1.上传代码 用git或者其他工具,如scp 代码上传后保证每个应用下的migrations文件夹里只有一个__init__.py文件,自己的迁移文件不要上传上来,具体的gi ...
- 记一次vue2项目部署nginx静态文件404解决过程
github上下的一个vue2的项目,运行可以的,webpack打包后,nginx请求报错: 发现路径很奇怪啊,所以果断来到build.js文件中看看是不是哪里不对. 已经一番引用查找: 发现在这里配 ...
- 记一次JAVAWEB项目部署
需求 原本服务器上tomcat部署了一个javaweb项目在80端口,这次要部署另一个javaweb项目在8090端口,或者同时部署在同一端口不同目录下. 解决方法 不同端口部署 不同端口部署我们需要 ...
- [linux,springboot] - 记一次java项目部署
之前部署的java项目,打包war包后放入tomcat下,并配置conf下的server.xml,设置war包路径,设置是否自动解包与否等操作. 然后重启tomcat,稍等片刻,(web)java项目 ...
- 记一次Hadoop安装部署过程
实验名称:Hadoop安装部署 一.实验环境: 虚拟机数量:3个 (1个master,2个slave:slave01,slave02) 主节点master信息: 操作系统:CentOS7.5 软件包位 ...
- 记一次Pinpoint监控工具部署过程
环境:Centos 7.4 X64IP:192.168.1.11 1.配置环境,先安装jdk 到Oracle官网下载安装JDK https://www.oracle.com/technetwork/j ...
- 在裸机centos7系统中部署django项目的过程
概要 本文用一台安装了centos7.5系统的裸奔Linux机器(当然是虚拟机)详细讲解从无到有部署django项目的过程. 安装必要的工具 配置yum源 至于什么是yum源大家请自行百度,本人用的是 ...
- Django Web项目部署参考
环境准备:1.Python 2.7.*]2.pip3.sudo pip install django4.sudo aptitude show python-setuptools5.sudo aptit ...
- 基于python的种子搜索网站-项目部署
本讲会对种子搜索网站的部署过程进行详细的讲解. 网站演示: https://bt.mypython.me 源码地址: https://github.com/geeeeeeeek/bt 项目部署过程 系 ...
随机推荐
- Python内置数据类型之List篇
List的定义: li = ["one" , "two" , "three" , "four"] List是一个有序的集 ...
- wx菜单栏
#include "MainFrame.h" BEGIN_EVENT_TABLE(MyFrame,wxFrame) EVT_MENU(wxID_FILE,MyFrame::OnMe ...
- hibernate中使用fetch来决策性能方案
什么时候用子查询,或者连接查询 一般多个数据的对应用子查询,单一行的数据用连接 (若要查询每个学生分别学了什么课程 ,若要fetch=join.fetch=select) 则是这种情况 Hiberna ...
- 【转】Xcode中的iOS模拟器(iOS Simulator)的介绍和使用心得
iOS模拟器简介 iOS功能简介 iOS模拟器,是在Mac下面开发程序时,开发iOS平台的程序时候,可以使用的辅助工具. 其功能是,帮你模拟iOS平台设备,在模拟器上运行对应的程序,以方便你没有实体设 ...
- linux下动态库编译的依赖问题
这里主要是想试验一下,对一个具有多层嵌套的动态库进行编译时,是否要把最底层的库也包含进来的问题,结论是:只要直接依赖的库名称,不需要最底层库名称. 一,目录结构ZZZ├── add│ ├── ad ...
- hdu 4643(计算几何)
题意:容易理解 分析:切换的地点为两个基站所在直线的中垂线与两座城市所在直线的交点. 代码实现: #include <cstdio> #include <cmath> #inc ...
- 使用Firebug和FirePHP调试PHP
大家都知道Firebug,可能不知大FirePHP,它也是FireFox插件用来调试PHP的,首先确保你安装了Firebug,然后再去安装FirePHP,这是你会看到Firebug多了一只蓝色的虫: ...
- SPF详解
什么是SPF? 这里的SPF不是防晒指数,而是指Sender Policy Framework.翻译过来就是发信者策略架构,比较拗口,通常都直接称为SPF. SPF是跟DNS相关的一项技术,它的内容写 ...
- FontMetrics ----- 绘制文本,获取文本高度
Canvas 绘制文本时,使用FontMetrics对象,计算位置的坐标. public static class FontMetrics { /** * The maximum distance a ...
- 2014搜狗前端面经【B事业部】
本来就投了一份简历,后来又收到了个B事业部的面试电话,今天刚面完一面,总体感觉还是很基础的,其中一名面试官帅到不行啊!另一个也不差,真是幸胡...(sorry,跑题了...) 上来先做了份笔试题,超级 ...