黄宽的blog

宁可十年不将军,不可一日不拱卒



弹性web托管和thinkphp框架

      在阿里云上看到一款特别经济实惠的服务器,叫web弹性托管,至于为什么叫这个我也不清楚,我这个站就是这样上线的,也是蛮费劲的,遇到了很多的问题。首先谈一谈web弹性托管,如果你打算做一个像我这样的个人博客,并不奢求有多少人来访问,手上刚好钱也不多,又想早点把网站上线,偏偏你还不会熟练在服务器上部署php的运行环境,那么web弹性托管确实挺适合你。thinkphp是我非常喜欢的一个框架,确切来说我也只会这个框架。。。这框架在国内的占有率是非常高的,所以很容易碰到我遇到的这个问题。

接下来说说怎么去把已经在本地做好了的网站部署到web弹性托管上面

1.首先当然你得买个服务器(弹性web已经部署好运行环境,包括数据库,php,服务器),再买个域名(也可以到我的主页导航里看看啊),尽早的去备案,我的备案地是在湖南,6月14号开始人生第一次备案,6月22号完全通过,之前同事借我一块幕布拍照的,一共八天,一共6个工作日,还算蛮快的。

2.当你把你的程序上传上去后,有可能会发现,能通过入口文件访问,但是页面是空白的,你在入口文件随便输出点什么也能出来,但就是不能正常显示前台页面。这个问题是这样的,进入弹性web控制台,有个环境设置,你看看你的php版本,再看看你使用的框架版本,框架版本对php是有要求的。

3.最多人遇到的问题,地址栏不能传参,会提示你 No input file specified ,或者是access denied,你会发现你用php01.com/Home/Home/home,根本访问不了。郑重说明弹性web托管是支持path_info的! 郑重说明弹性web托管是支持path_info的! 郑重说明弹性web托管是支持path_info的! 重要的事情说三遍,因为目前你能够百度的资料全部会对你说并不支持,要你重新买一个云虚拟机,对比起来真是老贵了,不过当然贵有贵的好,但你没必要为了吃口苹果自己去种颗树吧。pathinfo模式也是在控制器环境设置里面设置的,除此之外,你最好打开tp框架路由兼容模式,也就是URL_MODEL =>3。再在根目录做重写放一个 .htaccess 文件 ,文件内容如下:

 

#开启重写

RewriteEngine on

#匹配路径目录不存在时

RewriteCond %{REQUEST_FILENAME} !-d

#匹配路径文件不存在时

RewriteCond %{REQUEST_FILENAME} !-f

#路径重写规则

RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]

 

但是不一定会马上有效果!!!!!不要太信官网说的会马上生效!!!你可能还是会遇到以上提到的问题,此时打开调试模式,看看报什么错,Runtime文件夹清空,再访问,如果路由还没生效,你可以先用普通模式先访问,此时可能会成功,如果没成功那就是其他问题了,如果用普通能访问你输入的地址,说明你在服务器上的设置还没生效,过一会再访问就好了,普通模式是指这种 http://localhost/?m=home&c=user&a=login&var=value 。再不行就去下工单解决吧,可以确定是thinkphp可以完美的和弹性web托管融合,但是有一点,稳定性不太满意,你会发现有时候利用地址栏登录后台的时候,会提示你说找不到文件!!!!但千万不要方,一会就好了,你就过一会再登录就好了。可能是个唤醒过程。

  php

作者  :  黄宽

不耻最后,即使慢,驰而不息,纵会落后,纵令失败



About ME

about me

黄宽

我不想成为一个庸俗的人。十年百年后,当我们死去,质疑我们的人同样死去,后人看到的是裹足不前、原地打转的你,还是一直奔跑、走到远方的我?

友情链接