阿里云虚拟主机安装 ThinkPHP5.0.24 框架

ε祈祈猫儿з 提交于 2020-01-28 12:17:17

一、前言

最近有个小项目需要使用框架,一狠心决定抛弃 ThinkPHP3.2.3 直接使用新版本(ThinkPHP5.0.24)。在阿里云虚拟主机部署的时候遇到了些小问题,狂搜了很久才得已解决。写在这里,给新手节约些时间。

二、操作流程

第一步,下载框架

没什么好说的,直接官网下载最近版本的框架,本文中使用的版本是 ThinkPHP5.0.24。核心版和完整版都可以,新手建议下载完整版,便于以后学习。
下载地址:http://www.thinkphp.cn/down.html

在这里插入图片描述

第二步,上传ThinkPHP到阿里云服务器

用自己喜欢的工具打开阿里云服务器,这里我用 FlashFXP。
在这里插入图片描述
根目录中有若干文件夹,但是我们只能操作 htdocs 文件夹,其它的都是只读的。把 ThinkPHP5 解压到本地文件夹以后,直接拖拽到这个文件夹里。
在这里插入图片描述
在这里插入图片描述
我的文件是 thinkphp5 , 这是文件夹里面的内容。

第三步,设置 .htaccess 文件(重要)

经过以上步骤后,ThinkPHP5 已经成功的安装到服务器上了,但是通过 URL 访问时会提示错误,因为在根目录中没有可访问的资源文件。ThinkPHP5的入口文件在 /htdocs/thinkphp5/public 文件夹中,所以必须设置服务器默认访问这个文件夹而不是根目录。方法就是在 htdocs 文件夹中 新建一个 “.htaccess”文件,内容如下:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /

  RewriteCond %{HTTP_HOST} ^(www\.)?你的域名$ [NC]
  RewriteCond %{REQUEST_URI} !^/thinkphp5/public/
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ thinkphp5/public/$1

  # 没有输入文件名的默认到到首页
  RewriteCond %{HTTP_HOST} ^(www\.)?你的域名$ [NC]
  RewriteRule ^(/)?$ thinkphp5/public/index.php [L]
</IfModule>

“你的域名”是指,如果你的URL是 www.baidu.com 的话,把 “你的域名” 四个字替换成 baidu.com 注意 “.” 之前有一个 “\”。修改完以后是这样的:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /

  RewriteCond %{HTTP_HOST} ^(www\.)?baidu\.com$ [NC]
  RewriteCond %{REQUEST_URI} !^/thinkphp5/public/
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ thinkphp5/public/$1

  # 没有输入文件名的默认到到首页
  RewriteCond %{HTTP_HOST} ^(www\.)?baidu\.com$ [NC]
  RewriteRule ^(/)?$ thinkphp5/public/index.php [L]
</IfModule>

配置文件是按照我的目录结构来设置的,如果你的目录结构不一样,自己照猫画虎做相应的修改。

第四步,其它注意事项

正常的情况下通过前面三步操作,网站就可以正常访问了。但是我的服务器访问还是会报错:
在这里插入图片描述
这个错误是由于 阿里云中的PHP默认版本较低造成的:
在这里插入图片描述
阿里云中的PHP默认版本是 PHP5.2,而ThinkPHP5 的运行要求 PHP 最低版本是 PHP5.4,选择对版本点击 “保存设置” 就可以了。
在这里插入图片描述
注意:设置完成以后需要等几分钟或重启服务器设置才能生效。

三、结束语

头一次使用 ThinkPHP5 ,粗浅的感觉比 ThinkPHP3 版本结构更清晰,如果有 ThinkPHP3 的基础学习起来也没什么难度,大概了解一下就能上手。

如果对 .htaccess 有兴趣,可以参考这篇文章:
[1]: https://blog.csdn.net/cmzhuang/article/details/53537591

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!