记一次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 项目部署过程 系 ...
随机推荐
- 13行代碼開發出来的PHP框架[转]
<?PHP /** PHP極簡框架 交流: QQ群: 223494678 http://7di.net 用法 http://URL http://URL/hello http://URL/sev ...
- 【英语】Bingo口语笔记(22) - Talk系列
talk back 顶嘴 talk somebody in to something 劝某人做某事 tal somebody out of something 劝某人不做某事
- loadrunner ---<三>循环输出关联数组
web_reg_save_param,将Ord参数值设定为ALL,则关联函数将自动把符合条件的关联值保存到参数数组里.在本例中,假设关联值返回三条记录,则LR分别将值保存到sor_1,sor_2,so ...
- 使用 foreach 操作数组
foreach 并不是 Java 中的关键字,是 for 语句的特殊简化版本,在遍历数组.集合时, foreach 更简单便捷.从英文字面意思理解 foreach 也就是“ for 每一个”的意思,那 ...
- unity, sprite atlas
一, Sprite Packer 可以直接在unity里放碎图,只要将Texture Type选为Sprite(2D and UI),Sprite Mode选为Single,再把想打在一张大图里的碎图 ...
- unity, surface shader access world position and localposition
一,surface shader中访问worldposition 在surface shader中访问世界坐标,只需在Input结构体中声明float3 worldPos即可,如下: struct ...
- Delphi MDI程序 父窗体如何调用当前活动子窗体的函数/过程
一个MDI文本文件编辑器打开了N个子窗体子窗体的.pas文件有一些public的过程和函数我想在父窗体调用当前活动的子窗体函数我用Self.ActiveChildForm无法调用直接frmEdit.x ...
- Selenium2Library系列 keywords 之 _SelectElementKeywords 之 unselect_from_list_by_label(self, locator, *labels)
def unselect_from_list_by_label(self, locator, *labels): """Unselects `*labels` from ...
- 2016年JavaScript技术栈展望
如果你正在筹划新的前端项目或者重构现有项目,那么你需要认识到现在的前端开发环境已经今非昔比,这其中有太多的选择了:React.Flux.Angular.Aurelia.Mocha.Jasmine.Ba ...
- CRF模型
CRF的全称是Conditional Random Fields,由CMU教授John Lafferty 提出,原文标题:Conditional R andom Fields: Probabilist ...