安装
你可以通过下面的2种方式来安装Yii 框架
- 一种是通过Composer
- 另外一种是直接下载Yii网站所提供的2个应用程序模板(高级开发模板和基本开发模板),在vendor目录中就包含Yii框架
通过Composer安装
如果还没有安装Composer,可以从http://getcomposer.org/下载安装,或者通过下面的命令在线安装
- curl -s http://getcomposer.org/installer | php
(强烈建议进行全局安装(global Composer installation))
如果在安装的过程中有什么问题,或者想要了解更多的信息,可以访问官方文档
- Linux
-
Windows
通过Zip文件下载安装
直接从http://www.yiiframework.com/download/下载yii2.0的两个开发模板。现在最近版本为2.0-beta,下载地址:
高级开发模板(Yii 2 with advanced application template)
https://github.com/yiisoft/yii2/ ... -app-2.0.0-beta.tgz
基本开发模板(Yii 2 with basic application template)
https://github.com/yiisoft/yii2/ ... -app-2.0.0-beta.tgz
如果你只是想要Yii框架,你可以从github下载,然后根据创建自己的应用程序结构文档来创建应用程序。
提示:你不需要把Yii框架本身安装到一个可以通过web访问的目录(事实上也不应该被访问)。Yii框架只有一个入口脚本,通常也只需要这一个入口脚本暴露给网站用户来访问。其它的PHP脚本包括Yii框架里面的脚本都不应该被网站用户访问到,以避免可能的hei,ke袭击。
安装要求
Yii 2.0要求的PHP最低版本为5.4.0。在Windows平台和Linux平台的 Apache HTTP server和Nginx HTTP server服务器都已经测试没问题。Yii也可能会在其他的安装了PHP5.4.0或更高版本的服务器上运行。
安装完Yii后,你可能需要验证服务器是否满足Yii的需求。你可能通过网页或者命令行来运行需求检测脚本。你会在应用程序目录下面找到检测文件requirements.php
如果要在命令行下检测,你可能需要运行如下的脚本(首先要定位到requirements.php所在的文件夹)。
php requirements.ph
如果要通过浏览器来运行检测脚本,首先要确保程序可以通过web访问到,然后通过http://hostname/path/to/yii-app/requirements.php来访问
安装完成后,你可以通过我们提供的两个应用程序模板来创建一个新的Yii站点。根据你的需要,选择合适的模板来开始你的项目。
现在我们提供2种可用的模板供你选择。
- 基本应用程序模板——一个基本的前端应用程序模板
- 高级应用程序模板——包括前端、后端、控制台以及通用的代码和对开发环境的支持。
Apache 服务器推荐配置
Yii可在默认配置的Apache服务器中正常工作,但为了安全考虑,在Yii框架的文件夹中附带有.htaccess文件,来限制对受限资源的访问。
通常情况下,由Yii构建的网站在请求一个页面的时候都会经过一个放在网站首页根目录下面的一个引导文件,通常是index.php。请求的url格式一般为http://hostname/index.php/controller/action/param/value。
如果要隐藏url中的引导文件,可以在网站根目录的.htaccess文件中添加mod_rewrite规则,规则如下
RewriteEngine on # If a directory or a file exists, use the request directly RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # Otherwise forward the request to index.php RewriteRule . index.php
Nginx服务器推荐配置
同时Yii也可以在广受欢迎的Nginx服务器上部署,下面是一个服务器配置例子,这个配置告诉服务器把所有的不存在的请求都通过引导文件。不用引用index.php也可能生成友好的url链接。
server { set $yii_bootstrap "index.php"; charset utf-8; client_max_body_size 128M; listen 80; ## listen for ipv4 #listen [::]:80 default_server ipv6only=on; ## listen for ipv6 server_name mysite.local; root /path/to/project/web; index $yii_bootstrap; access_log /path/to/project/log/access.log main; error_log /path/to/project/log/error.log; location / { # Redirect everything that isn't real file to yii bootstrap file including arguments. try_files $uri $uri/ /$yii_bootstrap?$args; } # uncomment to avoid processing of calls to unexisting static files by yii #location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ { # try_files $uri =404; #} #error_page 404 /404.html; location ~ \.php$ { include FastCGI.conf; fastcgi_pass 127.0.0.1:9000; #fastcgi_pass unix:/var/run/php5-fpm.sock; } location ~ /\.(ht|svn|git) { deny all; }
在使用这个配置的时候,你应该在php.ini文件里设置cgi.fix_pathinfo=0,以避免不必要的系统stat()的调用
注意如果运行的是 HTTPS服务器,你需要添加fastcgi_param HTTPS on;以使Yii来检测连接是不是安全的。