码迷,mamicode.com
首页 > Web开发 > 详细

学做网站一:环境搭建

时间:2015-11-07 00:57:56      阅读:300      评论:0      收藏:0      [点我收藏+]

标签:

今天开始学习网站制作,为了练习编程基本功和面向对象程序设计能力。

要做的是一个众筹网站,网上找到了一份参考代码,准备对着重新做一遍,不用框架。那么第一步就是搭建环境,让参考代码跑起来了。

参考代码使用CI框架开发,数据库是MySQL。在windows环境下我使用WAMP软件很方便地安装了Apache+PHP+MySQL。

然后开始将源码中的SQL文件导入到我的数据库里,但是出现了乱码现象,百度一下发现是字符集问题。字符集设置指定了字符的编码方式,中文数据一般以utf8方式编码与MYSQL的默认字符集latin1不同,所以会出现乱码。在MySQL通过这些变量来设置字符集:

– character_set_server:默认的内部操作字符集
– character_set_client:客户端来源数据使用的字符集
– character_set_connection:连接层字符集
– character_set_results:查询结果字符集
– character_set_database:当前选中数据库的默认字符集
– character_set_system:系统元数据(字段名等)字符集
– 还有以collation_开头的同上面对应的变量,用来描述字符序。

使用字符集的过程为客户端使用character_set_client,客户端向服务端发数据时将字符集转换成character_set_connection,在服务端内部处理数据时又将字符集转成character_set_server对返回的结果使用character_set_results。上面还提到了字符序的概念,指的是字符间的比较规则,一个字符集可以有几种比较规则,若不特别指定,MySQL将使用这个字符集的默认比较规则。具体可以参照这篇文章http://www.cnblogs.com/discuss/articles/1862248.html写的很棒。

数据库导入之后网站可以跑了,但点击连接后就显示Apache的404页面了。应该是参考代码的运行环境对Apache做了配置,隐藏了CI的入口文件index.php,而在我的环境中没有做配置,所以链接都失效了。于是百度CI应藏入口文件的方法。一番曲折之后解决了问题,大致步骤是开启Apache的Rewrite模块,然后配置Rewrite规则

RewriteEngineOn

RewriteBase / 

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule^(.*)$ /index.php/$1 [L] 

让服务器把找不到的地址(动态请求)都发送给index.php,而找的到的(图片,html等静态文件)则不改写。这样就可以在URL中省去index.php了。具体看这篇文章http://www.jb51.net/article/50833.htm。另外我在网上还找到了另一个Rewrite规则

RewriteEngine on  

RewriteCond $1 !^(index\.php|images|robots\.txt)  

RewriteRule ^(.*)$ /index.php/$1 [L]

但多次试验都不成功,由于对正则表达式不熟也找不出原因只好作罢。配好Apache之后参考代码终于可以顺畅的运行了,那么明天可以开始做网站了。

忙了一天才配好了环境,但其中还是有很多不明白,比如Apche,PHP,MySQL中各个配置项的作用,Rewrite的原理,如何不借助WAMP直接从源码安装这些软件等等,有时间要慢慢学习。

学做网站一:环境搭建

标签:

原文地址:http://www.cnblogs.com/mcjblog/p/4944020.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!