因为最近要用需要去实现项目中的一个功能,比较好的做法就是在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代码了!