如何在Windows或Mac上安装Yii

最终产品图片
您将要创造的

想进一步了解Yii? 阅读 Yii框架简介, 按照我们的Yii编程系列进行

欢迎

在今天的教程中,我们将说明如何在Windows和macOS的本地开发环境中安装Yii。 对于Windows指南,我们将依赖WAMP Server ,这是一个用于Apache,PHP和Mac的Windows Web开发环境,对于Mac指南,我们将使用其表亲MAMP 。 尽管Rod在今天的教程中使用WAMP,但也有Windows版本的MAMP。

我正在写本指南的Mac部分,而我的同事Rod Ussing在写Windows方面。 我在加州高中的第二份编程工作中遇到了Rod,这在几年前是一个非常大的十六进制数字。 他仍然使用Windows,但是在Microsoft工作了八年,并且厌倦了重新启动系统以重新启动Outlook 的烦恼之后我离开了macOS

什么是Yii?

我喜欢用Yii编码。 一切对我来说都更快,更轻松。 就框架而言,这是相对简单的( 这就是我向Rails扔阴影 )。

我们将从在macOS中安装Yii的独特之处开始,然后再转到Windows。 随着在每个平台上完成安装所需的资源融合在一起,我们将以统一的形式针对两个平台描述其余说明。

在Yii Basic和Yii Advanced之间选择

Yii BasicYii最简单的形式。 您可以使用它构建各种应用程序,但是最适合单层,例如面向客户的一面。

这是Yii Basic应用程序的目录结构,其中只有一个应用程序具有一组目录:

assets/             contains assets definition
  commands/           contains console commands (controllers)
  config/             contains application configurations
  controllers/        contains Web controller classes
  mail/               contains view files for e-mails
  models/             contains model classes
  runtime/            contains files generated during runtime
  tests/              contains various tests for the basic application
  vendor/             contains dependent 3rd-party packages
  views/              contains view files for the Web application
  web/                contains the entry script and Web resources

Yii 2 Advanced Project模板最适合开发具有多层的复杂Web应用程序,例如前端,后端和控制台,每层都是单独的Yii应用程序。 例如,管理站点可以在后端运行,而cron任务可以在控制台环境中运行。

相反,这是具有多层的Yii Advanced应用程序的目录结构:

common
    config/              contains shared configurations
    mail/                contains view files for e-mails
    models/              contains model classes used in both backend and frontend
    tests/               contains tests for common classes    
console
    config/              contains console configurations
    controllers/         contains console controllers (commands)
    migrations/          contains database migrations
    models/              contains console-specific model classes
    runtime/             contains files generated during runtime
backend
    assets/              contains application assets such as JavaScript and CSS
    config/              contains backend configurations
    controllers/         contains Web controller classes
    models/              contains backend-specific model classes
    runtime/             contains files generated during runtime
    tests/               contains tests for backend application    
    views/               contains view files for the Web application
    web/                 contains the entry script and Web resources
frontend
    assets/              contains application assets such as JavaScript and CSS
    config/              contains frontend configurations
    controllers/         contains Web controller classes
    models/              contains frontend-specific model classes
    runtime/             contains files generated during runtime
    tests/               contains tests for frontend application
    views/               contains view files for the Web application
    web/                 contains the entry script and Web resources
    widgets/             contains frontend widgets
vendor/                  contains dependent 3rd-party packages
environments/            contains environment-based overrides

每个层都是其自己的站点,但是如果需要,它们可以轻松共享代码和一个公共数据库。 我在启动系列中使用此模板。 Yii Advanced还为不同的环境提供内置的配置支持,从而使团队开发变得更加容易。

为Yii准备macOS

我已经在macOS的Yii上进行编码了几年了。 当然,有许多不同的方法可以在Mac上运行Apache,MySQL,PHP环境,但是我更喜欢MAMP。

安装MAMP

在Windows或Mac上安装Yii-MAMP网站主页

基本上,只需访问MAMP网站并下载macOS软件包:

在Windows或Mac上安装Yii-MAMP下载页面

下载后,您可以将包拖到Applications文件夹中,然后双击以启动MAMP。 这将显示一个MAMP窗口:

在Windows或Mac上安装Yii-MAMP窗口

配置MAMP

单击首选项以配置要连接到服务器的端口(我将8888用于Apache):

在Windows或Mac上安装Yii-MAMP首选项端口配置

单击“ Web服务器”以查看或更改服务器的目录。 我在本地使用Apache:

在Windows或Mac上安装Yii-MAMP首选项Web服务器配置

在macOS上安装Composer

Yii2需要Composer,这是一个流行的PHP依赖管理器。 如果尚未安装Composer,请执行以下操作:

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

然后,使用Composer安装Yii2。 安装请求要求您使用自己的GitHub帐户凭据; 如果您没有帐户,请注册。

正如Rod在下面进一步描述的那样,安装Yii需要composer资产插件:

composer global require "fxp/composer-asset-plugin:1.0.0-beta2"

他建议在GitHub上设置一个帐户并 配置访问令牌 原因是在安装Yii期间,请求数可能超过GitHub API速率限制,并且Composer可能会停止并要求您的GitHub登录凭据以在安装过程中获取GitHub API访问令牌。

准备就绪后,您可以安装Yii。 我们将使用Yii basic并将其安装在~/sites/hello目录中:

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

然后,为MAMP创建一个符号链接到您的站点应用程序目录:

cd /Applications/MAMP/htdocs
ln -s ~/Sites/hello/ /Applications/MAMP/htdocs/hello

如果您决定安装Yii Advanced,则可能有助于激活和自定义您的虚拟主机文件:

$ nano /Applications/MAMP/conf/apache/httpd.conf
 
# Virtual Hosts
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

在下面,我已经将frontend.dev和backend.dev配置为映射到~/sites/yiiplus目录中的Yii Advanced安装,该目录在/Applications/MAMP具有符号链接。

$ nano /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
 
NameVirtualHost *:8888
 
<VirtualHost *:8888>
       ServerName frontend.dev
       DocumentRoot /Applications/MAMP/htdocs/yiiplus/frontend/web/
 
       <Directory "/Applications/MAMP/htdocs/yiiplus/frontend/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
 
           # use index.php as index file
           DirectoryIndex index.php
 
           # ...other settings...
       </Directory>
   </VirtualHost>
 
   <VirtualHost *:8888>
       ServerName backend.dev
       DocumentRoot /Applications/MAMP/htdocs/yiiplus/backend/web/
 
       <Directory "/Applications/MAMP/htdocs/yiiplus/backend/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
 
           # use index.php as index file
           DirectoryIndex index.php
 
           # ...other settings...
       </Directory>
   </VirtualHost>

如果您决定使用Yii Advanced,建议您也参考我的教程,该教程提供了更多详细信息。

这些是针对macOS的特定于平台的步骤。 现在,让我们看看在Windows上为Yii做准备。 稍后,我们将返回适用于两个平台的步骤来完成配置。 如果您严格是macOS用户,请跳至“ 完成Yii配置”部分。

为Yii准备Windows

对于Windows上的Yii,我们将使用WAMP 。 首先,您需要在Windows计算机上下载并配置WAMP。 对于本教程,我们将在您的本地计算机上安装WAMP(该服务器将以localhost寻址)。 如果要安装在生产Windows服务器上,则需要与提供商联系以获取服务器详细信息,并遵循有关为该环境安装和配置WAMP Server或备用Apache,MySQL,PHP堆栈的建议。

安装WAMP

在Windows或Mac上安装Yii-WAMPSERVER主页

由于本教程的重点是安装Yii,因此建议您查阅涵盖安装WAMP的众多优秀教程之一。 您会惊讶于它是如此的容易。 由于它也是一个PHP应用程序,因此安装WAMPWordPress指南是一个很好的起点。

一旦安装并配置了WAMP,就需要安装Composer,它是PHP项目的依赖管理器和安装程序。 这将使我们能够开始安装Yii。

在Windows上安装Composer

尽管您可以从GitHub下载Yii软件包,但是在本教程中,我们使用Composer进行安装。 如果您不熟悉Composer,可以在本教程中了解更多信息

首先,让我们去GitHub下载并安装最新版本的Composer-setup.exe ,当前版本v4.5.0

安装完成后,最好注销并再次登录以确保所有文件都已更新[Jeff在这里:或购买Mac]

您可以通过打开命令提示符并转到以下位置来检查安装情况:

cd \Users\your-username

输入以下命令:

composer -V

然后应显示Composer的版本信息,例如:

Composer version 1.4.1 2017-03-10 09:29:45
安装Composer资产插件

为了在Composer .json中管理项目资产,而不必安装NPM或Bower,则需要通过运行Composer Assets插件的install命令来确保Composer拥有所需的所有软件包。

在Windows上打开命令提示符,然后导航到PHP文件夹所在的位置。 在此安装中,PHP位于目录wamp64 \ bin \中,它是PHP版本7.0.10,因此我们键入:

cd \wamp64\bin\php\php7.0.10

然后键入以下命令:

composer global require "fxp/composer-asset-plugin:^1.3.1"

请记住,软件会发生变化,因此请始终确保检查您使用的是最新的稳定版本。 使用Beta时要格外小心,因为如果您在前沿方面走得太远,则事情可能会开始崩溃。

对于Composer和Composer Asset Plugin的最新版本:

为Yii应用程序配置WAMP

现在,让我们为Yii配置WAMP。 将此目录更改为WAMP installation \ www进行此安装:

cd \wamp64\www

在此目录中,我们将通过键入以下内容来创建一个名为Yii Basic的新目录:

mkdir yii-basic

这是我们要安装Yii Basic的地方。 您可以跳过此步骤,直接将Yii安装到www目录中,但是创建一个明确命名的目录可以避免造成混淆,特别是如果您打算同时安装Yii Basic和Yii高级模板。

在新的yii-basic目录中,我们运行以下命令来安装Yii基本模板:

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

我们可以通过导航到您创建的目录中的“ Basic”文件夹来验证Yii:

cd \wamp64\bin\www\

现在我们输入命令:

PHP yii serve

这将使用WAMP的PHP引擎启动Yii。

在Windows中配置主机文件

如果要自定义网站的本地浏览器地址,或明确引用Yii-Advanced网站的前端和后端,则需要做更多的工作。

使用文本编辑器的“ 打开文件”下拉列表,或通过直接在Windows资源管理器中导航,转到文件:

C:\Windows\system32\drivers\etc\hosts

我们正在寻找以下内容:

# localhost name resolution is handled within DNS itself.
127.0.0.1    localhost

为准备Yii-Advanced的多个站点,让我们为前端添加一个,为后端添加一个:

127.0.0.1 frontend.dev
127.0.0.1 backend.dev

它看起来像这样:

在Windows或Mac上安装Yii-Windows主机配置

您可以在此处找到有关查找和设置Windows Host文件的更多信息

在httpd.conf文件中启用虚拟主机

检查Apache httpd.conf文件中的虚拟主机是否已启用是一个好主意。

编辑httpd.conf文件时要非常小心-在开始之前进行复制,并确保在进行编辑之前了解自己的操作,否则很容易破坏WAMP服务器。 [杰夫在这里,听起来好像罗德是根据经验说话的。]

要查找httpd.conf,请输入:

cd \wamp64\bin\apache\apache2.4.23\conf

我喜欢本指南,以更详细地说明如何编辑httpd.conf以启用与Apache中的虚拟主机相关的功能以及在WAMP上配置虚拟主机。

配置虚拟主机

现在,我们需要配置我们的Apache虚拟主机。 使用文本编辑器菜单或Windows资源管理器,我们将导航到以下目录:

C:Wamp64\bin\apache\apache2.4.23\conf\extra\httpd-vhosts.conf

本地应该已经有一个虚拟主机,所以现在我们需要为Yii前端和Yii后端添加虚拟主机。 我建议您在每个虚拟主机上方键入名称,以避免混淆。 (不要忘了将名称注释掉!)

#Frontend

虚拟主机配置文件应如下所示。

在此示例中,我们将Yii Advanced安装到c:/wamp64/www/yii-advanced并创建了一个名为yii-application的应用程序。 也可以将Yii安装到www中,这样您的路径就可以更简单地读到c:/ wamp64 / www / myapp / frontend / web。

在Windows或Mac上安装Yii-Windows虚拟主机配置

请密切注意DocumentRootDirectory行。 它们都必须包含通往Yii应用程序目录的完整路径,一直到分别位于前端和后端目录内的“ web”文件。 DocumentRoot和Directory的内容相同,除了Directory的路径包含在引号中。

安装Windows的Yii-Advanced模板

要安装Yii高级模板,让我们返回wamp64 \ www目录:

cd \wamp64\www

现在,我们将创建一个名为yii-advanced的新目录:

mkdir yii-advanced

在新目录中,我们运行以下命令,该命令将安装Yii Advanced模板:

composer create-project --prefer-dist yiisoft/yii2-app-advanced yii-application
在Windows或Mac上安装Yii-Composer安装Yii-Advanced

到目前为止,Yii Basic和Yii Advanced的安装是相同的。 现在,我们将需要添加一些其他步骤,以使您的Yii高级模板准备好采取行动。

完成Yii配置

Windows和Mac的步骤

创建MySQL数据库

假设您的WAMP服务器上安装了PHPmyAdmin(它已包含在MAMP中),您实际上可以通过PHPmyAdmin GUI创建数据库,但是我们将动手并使用SQL命令行,说实话,这不需要太多工作。

在Windows命令行中,通过键入以下内容导航到MySQL文件夹:

cd \wamp64\www\bin\mysql\mysql5.7.14\bin

只要WAMP或MAMP在本地环境路径中,您也可以在任何地方执行此操作。

然后,对于Mac和Windows,键入:

mysql -u root -p

这将使我们进入mysql命令行。 现在,我们将在SQL中执行以下命令:

create database yii2test;

(您可以随意命名数据库,只要确保在整个过程的其余部分中使用适当的名称即可。)

现在,我们将通过键入以下SQL命令为此数据库创建一个用户名和密码:

GRANT ALL ON yiit2est.* TO 'your-username'@'localhost' IDENTIFIED BY 'your_chosen_password’;
FLUSH PRIVILEGES;
EXIT;

现在,您将离开MySQL并返回到控制台命令行。

保留数据库用户名和密码,因为我们将需要它来设置PHP配置文件(common / config / main-local.php),这使Yii可以与MySQL安全通信。

初始化Yii Advanced应用程序

对于Yii-basic安装,这是不必要的。

要初始化Yii Advanced,我们将需要导航到Yii-Advanced应用程序文件夹。 在这种情况下,将是:

cd \wamp64\www\yii-advanced\

然后输入init

这将启动初始化脚本,该脚本将询问您是否要针对开发或生产环境初始化Yii。 最有可能看起来像这样:

Which environment do you want the application to be initialized in?

[0] Development
[1] Production

就本教程而言,我们将在开发环境中工作,因此输入0并按Enter,然后在出现提示时输入“是”(不带引号),并且初始化将完成。

我们几乎完成了—现在剩下的只是几个配置步骤,您可以使用Yii进行编程。

在Windows或Mac上安装Yii-Yii初始化结果

更新Yii配置设置

对于Yii-basic,您将编辑/yii-basic/config/db.ini 。 对于Yii-advanced,您将编辑/yii-advanced/common/config/main-local.php

为了编辑此文件,我们将需要使用文本编辑器。 Atom是一个很好的选择,它将为您提供更高级的编码服务。

要打开配置文件,请使用文本编辑器中的“ 打开文件”下拉菜单,或使用Windows资源管理器直接导航到配置文件,然后右键单击“ 打开方式”并选择您的文本编辑器。 (在Windows中,您可能需要以管理员身份运行文本编辑器。)

下面我们今天使用的安装示例说明了此过程。 请记住,您可能使用了不同的驱动器名称,并且路径的命名方式略有不同,具体取决于您为文件夹命名的名称。

配置文件应如下所示:

在Windows或Mac上安装Yii-Yii config main-local ini文件

记住输入与设置Yii MySQL数据库相同的用户名和密码,否则Yii和MySQL将无法正常工作!

而且,甚至不要考虑在配置文件中使用数据库的根用户名和密码! [杰夫在这里...真的,不要。]

使用Yii迁移工具

Yii Advanced拥有自己的迁移。 现在已经设置了MySQL,我们将需要一些表。 Yii迁移以编程方式在MySQL数据库中创建表和模式。

要在Windows中启动Yii迁移工具,我们需要输入以下内容转到我们的Yii安装目录:

cd \wamp64\www\yii-advanced\yii-application

同样,您可以选择安装它而没有Rod为该演示创建的父目录。 例如,对于MAMP,我正在使用:

$ cd ~/sites/yii-advanced

现在键入以下命令:

yii migrate

稍后,系统会询问您是否要"Apply the above migration?"

键入Yes然后按回车键。 如果一切顺利,我们将收到一条消息,提示Yii已成功迁移。

在Windows或Mac上安装Yii-Yii迁移结果

访问您的Yii网站

现在是关键时刻。 当您在浏览器中访问localhost:8888时,应该看到:

在Windows或Mac上安装Yii-您的Yii网站恭喜您获得默认首页

对于Yii Advanced,您可能需要尝试frontend.dev或包括前端或后端站点,例如localhost:8888/frontend 。 如果您未启用主机文件,则可以直接通过路径localhost:8888/web访问Yii。

如果您安装了高级模板,请转到“ 注册”链接并输入用户名,希望使用的电子邮件地址和密码。

不要使用您的MySQL密码(您在PHP配置文件中输入的密码)。 这是具有新用户名和密码的Yii用户帐户数据库。

您的第一个用户注册也将是Yii应用程序的管理员用户,可以访问所有内容。

现在您已经注册,请输入浏览器:

backend.dev

您将获得一个管理员登录屏幕,您可以在其中输入新的用户名和密码:

Yii登录屏幕

您将以身份验证的用户身份直接回到上面的Yii“ Congratulations ”页面。

现在有了所有的祝贺,为什么不祝贺自己,因为您已经成功安装了Yii。 做得很好。 [杰夫在这里,如果您是在Windows上执行此操作的,请购买Mac,然后在其中试用。

收盘时

希望我们今天的教程可以帮助您开始使用Yii。 Rod和我喜欢一起写这篇文章。

当我们继续深入研究框架的不同方面时,请观看我们的Yii2编程系列中即将发布的教程。 在构建实际应用程序时,请务必查看我们的“ 使用PHP构建您的启动”系列 ,该系列使用Yii2的高级模板。

如何使用Yii的入门集进行编程,它非常详细地介绍了如何设置Yii basic和生产Linux服务器。

如果您想知道下一个Yii2教程何时到达, 在Twitter上关注我@reifman查看我的讲师页面 。 发布后,我的讲师页面将包含本系列中的所有文章。

相关链接

翻译自: https://code.tutsplus.com/tutorials/how-to-install-yii-on-windows-or-a-mac--cms-28530

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值