记一次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 项目部署过程 系 ...
随机推荐
- erl0006 - erlang 查看进程状态,查看当前系统那些进程比较占资源
http://lfstar.blog.163.com/blog/static/56378987201341115037437/ 查看哪些进程占用内存最高? > spawn(fun() -> ...
- 一起学CUDA(一)
前提是电脑的显卡支持CUDA,N卡一般是支持的,如果是A卡就没办法了.主要针对Windows环境,Linux和Mac也有相应的安装包.CUDA环境搭建:Step1:安装代码环境VS2010:Step2 ...
- Android Retrofit实现原理分析
retrofit有几个关键的地方. 1.用户自定义的接口和接口方法.(由动态代理创建对象.) 2.converter转换器.(把response转换为一个具体的对象) 3.注解的使用. 让我们跟随Ap ...
- git常用知识整理
分布式和集中版本控制的区别 分布式版本控制系统与集中式版本控制系统有何不同呢?首先,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因 ...
- Karel运行环境配置
1.下载 见http://wenku.baidu.com/view/24762ced998fcc22bcd10d5e.html 2.界面空白问题 问题:运行Karel后,发现整个界面空白一片,没有任何 ...
- mysql 1130 ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server
mysql -u root -p mysql;use mysql; mysql;select 'host' from user where user='root'; mysql;update u ...
- Linux makefile教程之更新函数库文件十[转]
使用make更新函数库文件 ——————————— 函数库文件也就是对Object文件(程序编译的中间文件)的打包文件.在Unix下,一般是由命令"ar"来完成打包工作. 一.函数 ...
- [转]几个开源的.net界面控件
转自原文 几个不错的开源的.net界面控件,介绍几个自己觉得不错的几个开源的.net界面控件. DockPanel Suite:开发类似VS.net的界面,#Develop就是使用的这个控件. 网址: ...
- ylb:多表的连接与练习(第三方关联表的应用)
ylbtech-SQL Server:SQL Server-多表的连接与练习(第三方关联表的应用) SQL Server 多表的连接与练习(第三方关联表的应用). 1,多表的连接与练习(第三方关联表的 ...
- jQuery需要掌握的技巧
检查 jQuery 是否加载 在使用 jQuery 进行任何操作之前,你需要先确认它已经加载: if (typeof jQuery == 'undefined') { console.log('jQu ...