记一次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 项目部署过程 系 ...
随机推荐
- putty保持Session链接不断开的方法
利用Putty登陆到远程主机后,如果长时间没有做任何操作,服务器会与本地客户端断开连接 假如设置了会话连接功能,就会每隔多少秒,客户端会发送一个空数据包给服务器,保持连接. 1. 打开putty.ex ...
- 【django】django深入学习笔记
官网教程 DjangoBook Models 模型 一个类代表一个模型 类中的属性对应了对应数据表的数据 *makemirgations命令生成数据库脚本(还未同步过数据库,第一次要用到) - > ...
- 【解题报告】PKU 2826 An Easy Problem?!
原题链接:http://poj.org/problem?id=2826 一题很蛋疼的一题.目前为止还有一个问题我没搞清楚,问题注在代码中. 题目大意: 外面下雨了,农民Johnoson的bull(?? ...
- zoj 3690 Choosing number
题意 就是说给你 N 个人站成一排,现在每个人都可以选择 1-M 中间的任意一个数字,相邻的两个人数字相同,则他必须是是 > K 的 问方案总数: 方法 先求出递推式,然后用矩阵 ...
- 四:分布式事务一致性协议paxos通俗理解
转载地址:http://www.lxway.com/4618606.htm 维基的简介:Paxos算法是莱斯利·兰伯特(Leslie Lamport,就是 LaTeX 中的"La" ...
- ArcEngine下投影坐标和经纬度坐标的相互转换
jojojojo2002 原文 ArcEngine下投影坐标和经纬度坐标的相互转换 投影转经纬度 private IPoint PRJtoGCS( double x, double y) { IPoi ...
- MultiMap
类关系 ArrayListMultiMap.java Multimap <I> | | AbstractMultimap <A> Serializable <I> ...
- vbScript常用运算符与函数
基本运算 + 数字加法及字符串连接 - 数字减法 * 数字乘法 / 数字除法 Mod 求余数 \ 求商数 & 字符串连接 ^ 次方 = 相等 <> 不相等 >= 大于或等于 ...
- C# 保留2位小数
1.只要求保留N位不四舍5入 float f = 0.55555f; int i =(int)(f * 100); ...
- 闭包在python中的应用,translate和maketrans方法详解
python对字符串的处理是比较高效的,方法很多.maketrans和translate两个方法被应用的很多,但是具体怎么用常常想不起来. 让我们先回顾下这两个方法吧: 1.s.translate(t ...