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环境配置
在学习开发过程中,每当遇到新的问题时,通常都能在网上搜到解决的方法,但是网上的方法千千万,有些是已经过时了的,有些是跟自己开发环境不同的,总是不能第一时间能找到答案. 而当时遇到的问题可能在今后的开发 ...
随机推荐
- zookeeper_03:Java 客户端(原生API)
环境配置 下载并ZooKeeper的发行版 新建Java project,并导入jar包 创建会话 public class CreateSession implements Watcher { pr ...
- Facebook发布C++ HTTP框架Proxygen
Facebook 宣布发布C++ HTTP 框架 Proxygen,其中包括了一个 HTTP server.Proxygen 是 oxygen 的谐音,支持 SPDY/3 和 SPDY/3.1,未来还 ...
- Android Studio之build.gradle小技巧
一: 当你工程引用android 的support包的时候,常常会这样写: dependencies { compile 'com.android.support:recyclerview-v7:22 ...
- AJAX+cURL+SimpleXMLElement处理数据
curl_xml.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- thinkphp从数据库里的html代码显示页面不解析
首先,这个问题不应该出现在这里,因为以前在用ThinkPHP3.1.2的时候,利用富文本编辑器保存文本后,直接从数据库里面取出的数据都能正常显示,改用ThinkPHP3.2.3之后,thinkphp从 ...
- C的陷阱和缺陷研读笔记02
宏: 宏不是函数 展开会产生庞大的表达式 #define MIN(A,B) ((A) <= (B) ? (A) : (B))MIN(*p++, b)会产生宏的副作用 剖析: 这个面试题主要考查面 ...
- Linux查看网卡状态
观看网卡传送.接收数据包的状态 $ netstat -i Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK ...
- java比较器 之compareable 和comparato比较
compareable 测试类import java.util.Set; import java.util.TreeSet; public class Test { public static voi ...
- CSS随记
在CSS中,任何元素都可以浮动.浮动元素会生成一个块级框,而不论它本身是何种元素.如果浮动非替换元素,则要指定一个明确的宽度:否则,它们会尽可能地窄. 注释:float属性不具有继承特性,就是说子元素 ...
- Oracle字符编码
.检查服务器编码: 执行SQL语法: Java代码 select * from v$nls_parameters; 或 Java代码 select * from nls_database_parame ...