ubuntu下lamp环境配置及将window代码迁移至linux系统
因为最近要用需要去实现项目中的一个功能,比较好的做法就是在http://i.cnblogs.com/EditPosts.aspx?opt=1linux中实现。所以最近就将自己的代码全部迁移到linux中了,其中遇到了不少问题,拿出来与大家分享一下,希望会对大家有所帮助。
首先说一下配置lamp环境吧。lamp的环境大家都知道就是linux,apache(服务器还可以是nginx),mysql(mongodb),php组成的一个用户编写php代码的环境。linux就不用说了,可以是在电脑上安装一个linux系统,也可以在window上用虚拟机构建一个linux的系统。
所以,首先需要安装apache服务器,在ubuntu的系统软件中心中,已经为大家准备好了apache服务器,因此,大家需要做的就是将apache下载下来安装即可,安装命令:apt-get install apache2 ,根据提示安装完成即可。安装完成后,在浏览器的地址栏输入localhost(或者时127.0.0.1),若出现如下图所示,证明lamp中的apache服务器已经安装成功!
第二个就是安装php的环境。安装命令:sudo apt-get install php5,根据提示进行安装。安装完成后需要进行测试,是否安装成功,在var/www/html下添加一个新的test.php文件,在文件中写入phpinfo();这句代码即用于显示当前php的版本信息。在浏览器地址栏输入:http://localhost/test.php 回车执行后若出现如下图所示,则表示php5安装成功!
第三个即进行mysql的安装,安装命令:apt-get install mysql-server mysql-client 。根据提示进行安装,在安装过程中会提示对mysql的root用户设置密码,所以记住设置密码。由于我在安装mysql时疏忽,直接都是回车下一步,没有设置密码,后面我在phpmyadmin时不知道设置了什么,导致我root用户的空密码无法登录mysql服务器。在这种情况下,就需要对root用户密码进行重置,通过命令找到mysql下的debian用户(cd /etc/mysql/debian.cnf)。在此文件下可以找到当前debian-sys-maint用户的密码,然后复制粘贴此用户,通过此用户密码登录mysql服务器,登录后通过”select * from user;“查看user表中是否有root用户的存在,当前root用户存在时执行“update user set passward=passward("new_pwd") where user="root"; flush privileges; exit;”,然后重启mysql服务:sudo service mysql restart 。重启后即可以通过root用户和新设置的密码登录mysql服务器:mysql -u root -p new_pwd 。
phpmyadmin安装:mysql安装完成后,默认没有图形化的操作界面,我们只能通过终端进行操作,十分不方便,数据查看时杂乱无章。phpmyadmin时一个非常好的基于web的mysql图形化界面工具。安装命令:sudo apt-get install phpmyadmin 。等待安装即可,在安装中,需注意选择服务器选择,我个人安装的时apache的环境,所以选择了apache2的服务器。服务器选择完毕后还要进行密码的设定,设定密码时需要将密码设置为mysql root用户的密码。安装完成后访问phpmyadmin会发现404错误,这是由于我们phpmyadmin只是安装完成,还需要将目录映射到apache2下:sudo ln -s /usr/share/phpmyadmin /var/www/html 。执行完上述命令后,在浏览器中访问phpmyadmin,就会出现登录界面,输入我们的用户名和密码登录。在登录后就会发现phpmyadmin还有问题(我就不幸的遇到了貌似所有的问题,唉,悲催啊。)。
第一个问题就是:使用配置文件中定义的控制用户连接失败。没办法,有问题就在网上找大神的解决办法吧,发现原来时由于配置文件中,用户和密码的错误。找到phpmyadmin下的config.inc.php文件(cd /etc/phpmyadmin/config.inc.php)。然后找到 $cfg['Servers'][$i]['user'] = 'enter_username_here'; $cfg['Servers'][$i]['password'] = 'enter_password_here'; 将其换成自己的登录用户和密码就ok了。
第二个问题就是:phpMyAdmin 高级功能尚未完全设置,部分功能未激活。解决这个问题,我们需要找到phpmyadmin下的examples下的sql文件,然后将此文件导入,即可出现一个phpmyadmin的数据库,在查看数据库的数据时会出现phpmyadmin.pma_table_uiprefs doesn't exit的错误,我们需要找到:cd /etc/phpmyadmin/config.inc.php。找到$cfg['Servers'][$i]['table_uiprefs'] = 'pma_table_uiprefs'; 将pma后面的一个下划线改成两个就可以了,然后回去phpmyadmin就会发现这个错误已经没有了,我们也可以正常访问数据库中的数据了。
第三个问题是:缺少 mcrypt 扩展。请检查 PHP 配置。在寻找这个问题的解决方法时,发现需要安装一个apt-get install php5-mcrypt。安装完成后问题就可以解决,但是我这里不知道是什么情况,我已经安装了这个扩展,但是在访问时还是会提示这个错误,不过,在我运行项目时好像也没有什么影响,所以我就也没管,如果有大神知道为什么,烦请告知啊,一定非常感激!
在解决了上述问题后,咱们的环境已经搭建完毕了,现在若想愉快的编写php的程序,还需要一个好的编辑器。
我用的就是在终端下编程,所以我安装了一个vim,安装完成后我们就可以用vim打开文件,然后在文件中进行编写了。
最后一个问题就是将我们的window上的项目代码迁移到linux上,因为linux以权限来对文件进行管制,所以,咱们复制粘贴过来的文件是没有访问权限的,所以我们需要对代码权限进行修改,我们可以通过命令:chmod -R 777 files 将整个文件的权限全部进行修改,也可以找到文件下,右击,找到属性-》权限,手动修改权限。权限修改完成后,我们就可以在浏览器中访问我们的项目了。
完成上述工作,咱们就可以愉快的编写php代码了!
本文系博主原创,若转载请表明出处。
ubuntu下lamp环境配置及将window代码迁移至linux系统的更多相关文章
- Ubuntu下LAMP环境配置
接下来是搭建个人学习环境,之前的随笔介绍了个人的网络配置,简单记录一下. 1. 安装apache: apt-get install apache2 2. 安装php5:apt-get install ...
- 【转存】阿里云服务器下 LAMP 环境配置 —— 基于 CentOS 6.3
阿里云服务器下 LAMP 环境配置 —— 基于 CentOS 6.3 Posted on 2016年2月10日 by 学院君 1.Apache 配置 —————————————————– vi / ...
- linux之ubuntu下php环境配置
本文主要说明如何在Ubuntu下配置PHP开发环境LAMP. Ubuntu 搭建 php 环境 所谓LAMP:Linux,Apache,Mysql,PHP 安装 Apache2:(注意可以 ...
- linux学习(一) -- ubuntu下lamp环境的配置
以下为实测教程,希望能为大家提供帮助,转载请注明出处 ubuntu+apache+mysql+php7 第一.更换apt的源 1.复制原文件备份 sudo cp /etc/apt/source.lis ...
- ubuntu下golang环境配置
安装go 可以到Golang中国下载go的安装包 解压安装包tar -C /usr/local -xzf <安装包> 添加环境变量`export PATH=$PATH:/usr/local ...
- ubuntu下hadoop环境配置
软件环境: 虚拟机:VMware Workstation 10 操作系统:ubuntu-12.04-desktop-amd64 JAVA版本:jdk-7u55-linux-x64 Hadoop版本:h ...
- Ubuntu下Java环境配置
Oracle Java安装: 通过以下命令进行安装: sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt ...
- Ubuntu下Gradle环境配置
sudo gedit ~/.profile sudo source ~/.profile env # for java export JAVA_HOME=/home/cmm/jdk export CL ...
- Ubuntu 16.04下的LAMP环境配置
在学习开发过程中,每当遇到新的问题时,通常都能在网上搜到解决的方法,但是网上的方法千千万,有些是已经过时了的,有些是跟自己开发环境不同的,总是不能第一时间能找到答案. 而当时遇到的问题可能在今后的开发 ...
随机推荐
- n多边形面积
“ 改革春风吹满地,不会AC没关系;实在不行回老家,还有一亩三分地.谢谢!(乐队奏乐)” 话说部分学生心态极好,每天就知道游戏,这次考试如此简单的题目,也是云里雾里,而且,还竟然来这么几句打油诗.好呀 ...
- php 注释
@access 使用范围:class,function,var,define,module 该标记用于指明关键字的存取权限:private.public或proteced @author 指明作者 @ ...
- Hessian Servlet和Hessian Spring的简单应用
转自: http://lancui.iteye.com/blog/935578 简介 相比WebService,Hessian更简单.快捷.采用的是二进制RPC协议(Binary),因为采用的是二进制 ...
- 普里姆(Prim)算法
/* 普里姆算法的主要思想: 利用二维数组把权值放入,然后找在当前顶点的最小权值,然后走过的路用一个数组来记录 */ # include <stdio.h> typedef char Ve ...
- UVA 674 Coin Change 换硬币 经典dp入门题
题意:有1,5,10,25,50五种硬币,给出一个数字,问又几种凑钱的方式能凑出这个数. 经典的dp题...可以递推也可以记忆化搜索... 我个人比较喜欢记忆化搜索,递推不是很熟练. 记忆化搜索:很白 ...
- c++适配器模式
你想使用一个已经存在的类,而它的接口不符合你的需求. 创建一个类需要和其他类协同完成任务,需要一个适配器将其他类的方法都转接到适配器当中 什么是适配器模式:有一个目标客户类想适用已经存在类的接口,但是 ...
- 使用yii中CSecurityManager的一点小技巧
当我们使用CSecurityManager::encrypt对字符串进行加密, 加密后的字符串是一串乱码(看起来确实像乱码, 具体是什么有待考证), 这不利于我们的下一步操作. 我们可以使用base6 ...
- Highways(求最小生成树的最大边)
Highways Time Limit : 2000/1000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other) Total Sub ...
- jquery实现隐藏显示层动画效果、仿新浪字符动态输入、tab效果
已经有两年多没登陆csdn账号了,中间做了些旁的事,可是现在却还是回归程序,但改做前端了,虽然很多东西都已忘得差不多了,但还是应该摆正心态,慢慢来,在前端漫游,做一只快乐双鱼. 路是一步一步走出来的, ...
- 说说VS 2015 RC最新开发工具的体验
有两个我感觉是提高效率的地方: 1.智能提示的改进,鼠标只要移动到代码上面的类型.字段,就会显示相应的提示,这大大提高我们开发时候需要按F12才能看到定义的内容.下面上图,给大家形象化: 2.管理Nu ...