安装Yii2【官方文档直译过来的】

安装Yii2【官方文档直译过来的】

安装Yii

http://www.yiiframework.com/doc-2.0/guide-start-installation.html

您可以通过两种方式安装Yii,使用Composer软件包管理器或下载档案文件。前者是首选的方式,因为它允许您通过简单地运行一个命令来安装新的扩展或更新Yii

Yii的标准安装导致下载和安装框架和项目模板。项目模板是一个工作的Yii项目,实现了一些基本的功能,比如登录,联系表单等,其代码按照推荐的方式组织。因此,它可以作为您的项目的一个很好的起点。

在这个和接下来的几节中,我们将介绍如何使用所谓的Basic Project Template来安装Yii,以及如何在这个模板之上实现新的功能。Yii还提供了另一个名为高级项目模板的模板,它更适合在团队开发环境中开发多层应用程序。

信息:基本项目模板适合开发90%的Web应用程序。它与高级项目模板的区别主要在于他们的代码是如何组织的。如果您是Yii的新手,我们强烈建议您坚持基本项目模板,因为它的简单性和足够的功能。

通过Composer进行安装

安装Composer

如果您尚未安装Composer,则可以按照getcomposer.org上的说明进行 操作。在Linux和Mac OS X上,您将运行以下命令:

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

在Windows上,您将下载并运行Composer-Setup.exe

如果遇到任何问题,请参阅Composer文档故障排除部分。如果您是Composer的新手,我们也建议至少阅读 Composer文档的基本用法部分

在本指南中,所有作曲家命令都假定您已经全局安装了作曲家 以便它可以作为composer命令使用。如果您composer.phar在本地目录中使用本地目录,则必须相应地调整示例命令。

如果您之前已经安装了Composer,请确保使用最新版本。您可以通过运行来更新Composer composer self-update

注意:在安装Yii期间,Composer需要从Github API请求很多信息。请求的数量取决于您的应用程序所依赖的数量,可能会大于 Github API速率限制。如果达到此限制,Composer可能会要求您的Github登录凭据以获取Github API访问令牌。在快速连接上,您可能比Composer能够处理的时间早,因此我们建议您在安装Yii之前配置访问令牌。 有关如何执行此操作的说明,请参阅有关Github API令牌作曲家文档

安装Yii

安装Composer后,可以通过在Web可访问的文件夹下运行以下命令来安装Yii应用程序模板:

php composer create-project --prefer-dist yiisoft/yii2-app-basic basic

这将在名为的目录中安装Yii应用程序模板的最新稳定版本basic。如果需要,您可以选择不同的目录名称。

信息:如果composer create-project命令失败,您也可以参考Composer文档的 疑难解答部分 了解常见错误。修复错误后,可以通过composer updatebasic目录中运行来恢复中止的安装。

提示:如果你想安装Yii的最新开发版本,你可以使用下面的命令,而添加一个稳定性选项

php composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic

请注意,Yii的开发版本不应该用于生产,因为它可能会破坏您的运行代码。

从档案文件进行安装

从档案文件安装Yii涉及三个步骤:

  1. yiiframework.com下载档案文件。
  2. 将下载的文件解压到Web可访问的文件夹。
  3. config/web.php通过输入cookieValidationKey配置项的密钥修改文件(如果您使用Composer安装Yii,则自动完成):
    // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
    'cookieValidationKey' => 'enter your secret key here',
    

其他安装选项

上面的安装说明显示了如何安装Yii,它还创建了一个基本的Web应用程序,可以直接使用。这种方法对大多数项目来说都是一个很好的起点,无论是小的还是大的。如果你刚开始学习Yii就特别适合。

但还有其他安装选项可用:

  • 如果你只是想安装核心框架,并想从头开始构建一个完整的应用程序,你可以按照说明中解释从头开始构建应用程序
  • 如果您想从更复杂的应用程序开始,更适合团队开发环境,则可以考虑安装高级项目模板

验证安装

安装完成后,可以通过在项目目录中运行以下控制台命令来配置Web服务器(请参阅下一节)或使用 内置的PHP Web服务器web

php yii serve

注意:默认情况下,HTTP服务器将侦听端口8080.但是,如果该端口已被使用,或者希望以这种方式提供多个应用程序,则可能需要指定要使用的端口。只需添加–port参数:

php yii serve --port=8888

您可以使用浏览器通过以下URL访问已安装的Yii应用程序:

http://localhost:8080/

安装Yii2【官方文档直译过来的】

你应该看到上面的“恭喜!” 页面在您的浏览器。如果没有,请检查您的PHP安装是否满足Yii的要求。您可以使用以下方法之一来检查是否满足最低要求:

  • 复制/requirements.php/web/requirements.php,然后使用浏览器通过访问它http://localhost/requirements.php
  • 运行以下命令:
    cd basic
    php requirements.php
    

您应该配置您的PHP安装,以便它符合Yii的最低要求。最重要的是,你应该有PHP 5.4或以上。理想的最新PHP 7. 如果你的应用程序需要一个数据库,你还应该安装PDO PHP扩展 和一个相应的数据库驱动程序(例如pdo_mysqlMySQL数据库)。

配置Web服务器

信息:如果您正在测试驱动Yii而不打算将其部署到生产服务器,那么现在可以跳过本节。

根据上述说明安装的应用程序应该在运行PHP 5.4或更高版本的Windows,Mac OS X或Linux上使用Apache HTTP服务器Nginx HTTP服务器。Yii 2.0也与Facebook的HHVM兼容 。但是,有一些边缘情况HHVM行为不同于本机PHP,因此在使用HHVM时必须格外小心。

在生产服务器上,您可能需要配置Web服务器,以便可以通过URL访问应用程序,http://www.example.com/index.php而不是通过URL访问http://www.example.com/basic/web/index.php。这种配置需要将您的Web服务器的文档根目录指向该文件basic/web夹。您也可能想隐藏index.phpURL,如路由和URL创建部分所述。在本小节中,您将学习如何配置Apache或Nginx服务器来实现这些目标。

信息:通过设置basic/web为文档根目录,还可以防止最终用户访问存储在兄弟目录中的私有应用程序代码和敏感数据文件basic/web。拒绝访问这些其他文件夹是一个安全性的改进。

信息:如果您的应用程序将运行在您无权修改其Web服务器配置的共享主机环境中,那么您仍然可以调整应用程序的结构以提高安全性。请参阅共享主机环境部分了解更多详情。

信息:如果您正在反向代理后面运行Yii应用程序,则可能需要在请求组件中配置 受信任的代理和标头

推荐的Apache配置

在Apache httpd.conf文件或虚拟主机配置中使用以下配置。请注意,您应该替换path/to/basic/web为的实际路径basic/web

# Set document root to be "basic/web"
DocumentRoot "path/to/basic/web"

<Directory "path/to/basic/web">
    # use mod_rewrite for pretty URL support
    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

    # if $showScriptName is false in UrlManager, do not allow accessing URLs with script name
    RewriteRule ^index.php/ - [L,R=404]

    # ...other settings...
</Directory>

推荐的Nginx配置

要使用Nginx,您应该将PHP安装为FPM SAPI。你可以使用下面的Nginx配置,替换实际的主机名path/to/basic/web的实际路径 basic/webmysite.local实际的主机名。

server {
    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/basic/web;
    index       index.php;

    access_log  /path/to/basic/log/access.log;
    error_log   /path/to/basic/log/error.log;

    location / {
        # Redirect everything that isn't a real file to index.php
        try_files $uri $uri/ /index.php$is_args$args;
    }

    # uncomment to avoid processing of calls to non-existing 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;

    # deny accessing php files for the /assets directory
    location ~ ^/assets/.*\.php$ {
        deny all;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass 127.0.0.1:9000;
        #fastcgi_pass unix:/var/run/php5-fpm.sock;
        try_files $uri =404;
    }

    location ~* /\. {
        deny all;
    }
}

使用此配置时,还应该cgi.fix_pathinfo=0php.ini文件中设置以避免许多不必要的系统stat()调用。

另外请注意,在运行HTTPS服务器时,需要添加fastcgi_param HTTPS on;以便Yii能够正确检测连接是否安全。