1

背景

公司最近在进行网站的改版,需要升级yii框架到2.0
作为一个前端er,在php方面几乎是小白,在安装yii2.0的时候遇到了几个坑
把我自己经验记录下来方便其他小白不踩坑

材料清单

  • windows操作系统(我的工作环境)

  • php解释器

  • composer(php包管理工具)

  • apache服务器

  • 可以翻墙的VPN

  • github账号

基于方便理解各个模块的工作原理和整合过程,决定不采用任何流行的集成环境,
XAMPP、WAPM、PHPStudy

php命令行安装

首先下载windows操作系统下的php版本,解压到某个文件夹下。一般到这种程度就可以了,为了方便学习php学习,把php加到系统环境变量中,这样就可以在全局环境下使用php命令。只要把php.exe所在的目录添加到系统环境变量中就可以了,输入

php -v

若控制台打印出相应的php版本,则说明添加全局变量成功。若提示没有相应的命令的时候,可以先把系统注销一下再试一次就生效了

安装composer

composer之于php,就像npm之于node.js,gem之于ruby,是一款php的包管理工具。我们后续会用它来安装yii2.0的框架。
安装composer,首先进入composer的官网,Getting Start页面中介绍了不同平台下的不同安装方式。我们找到windows平台下的相关安装方式,其中有两种安装方式

  • 使用composer-setup.exe安装,这种方式比较简单,直接运行安装就行了

  • 使用手动安装方式
    下载composer.phar,此页面中可以选择相应的composer版本,解压后放在php的根目录下,同时在此目录下建立一个composer.bat文件,在composer.bat中输入

    @ECHO OFF
    php "%~dp0composer.phar" %*

    这时候在命令行工具里输入

    composer -V

    若控制台输入相应的composer版本号,则说明安装composer成功

安装apachehaus

我们使用apache官网推荐的apachehaus
下载apache2.4解压到你所希望放置的文件夹中

安装yii2.0

材料准备好了,现在开始我们的主菜了
在安装yii2.0之前,yii2.0的官网指导我们先安装一个插件composer-asset-plugin。官网对这个插件的解释是

The first command installs the composer asset plugin which allows managing bower and npm package dependencies through Composer

看起来是composer用来管理bower和npm这种前端资源依赖包的工具。

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

我安装的过程中出现了一点小问题,就是告诉我openssl的扩展没有打开,
需要在php.ini(你的php根目录下),把extension=php_openssl.dll前面注释的;去掉。一开始php根目录下是没有php.ini的,但是有php.ini-developmentphp.ini-production这两个php官方给我们提供的模板文件,
把其中一个复制,然后改变名字为php.ini就行了。
注意使用扩展的时候,要保证系统环境使用的是当前的php扩展目录,即要在php.ini中设置扩展路径extension_dir = "ext"
如果不设置的话php会根据环境变量寻找默认的扩展路径,我之前就因为wamp的环境变量没有删除而发生过怎么也找不到扩展的情况。
现在可以使用composer安装yii2.0的框架模板

composer.phar create-project --prefer-dist yiisoft/yii2-app-basic basic

create-project命令会建立一个basic文件夹,下载相应的模板文件,--prefer-dist表示我们下载的是个不带版本信息的发行版压缩包,这会提高我们的下载速度。关于--prefer-dist的具体信息可以看stackoverflow上的讨论。
现在我们可以看到下载的目录中有个web文件夹,即使yii2.0给我们实现准备的网站的入口文件夹。

apache服务器配置

我们最后只要让apache的虚拟主机入口指向web文件夹,然后启动服务器,输入localhost就可以看到欢迎界面了。
关于apache服务器的配置,简单说一下

配置httpd.conf

httpd.conf为apache服务器的配置文件。位于服务器文件夹的根目录中。
我们需要设置的内容是
ServerRoot(大概在38行)
例如我的

D:/apache/Apache24

支持php5解释器
随便在文件的什么地方

# php5 support
LoadModule php5_module D:/php/php-5.6.24-Win32-VC11-x86/php5apache2_4.dll
PHPIniDir "D:/php/php-5.6.24-Win32-VC11-x86/"
AddType application/x-httpd-php .php .html .htm

注意把上面的路径改成自己本地的

网站入口配置httpd-vhosts.conf

httpd-vhosts实际上是httpd.conf加载的,它在httpd中通过include命令加载进来。
我们把之前下载好的yii2.0框架的web文件夹路径设置一下。

   <VirtualHost _default_:80>
      DocumentRoot "D:/laboratory/kwan/web"
   </VirtualHost>

另外要设置改文件夹的访问权限

  <Directory "D:/laboratory/kwan/web">
      Options Indexes FollowSymLinks
      Require all granted
  </Directory>

现在进入服务器的bin文件夹下,运行httpd.exe,然后在浏览器输入localhost,就可以看到欢迎界面了

一些需要注意的地方

  • create-project的时候,可能会用到github上生成的token。这需要你有一个github账户

  • 若出现资源文件怎么也下载不来(换了国内源也下载不下来)的情况,请科学上网,
    使用境外vpn后就可以解决。这个情况花了我不少时间,确实很让人崩溃。

  • 若不知道php中哪些扩展打开了,在命令行中输入php -m可以列出开启的扩展


结语

用composer安装yii2.0会让国内大部分小白直接从入门到放弃,希望这篇文章能帮到大家。最后祝安装顺利,有坑人的问题可以给我留言


lynnic89
370 声望2 粉丝

钱端攻城狮