1、安装composer
root用户执行:
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
php composer-setup.php
mv composer.phar /usr/local/bin/composer
mkdir /data/site/localhost/yii/
chown -R Tristone.Tristone /data/site/localhost/yii/
2、更换composer镜像源为阿里云
Composer不能使用root用户操作,只能使用普通用户(Tristone)来操作。
cd /data/site/localhost/yii/
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
composer clear-cache
3、安装Yii
在普通用户下输入以下命令安装
$ cd /data/site/localhost/yii/
$ composer create-project yiisoft/yii2-app-basic basic
这样就完成了Yii的安装。
4、安装 Assets
Yii依靠 Bower 和/或 NPM 软件包来安装 asset(CSS 和 JavaScript)库。 它使用Composer来获取这些库,允许 PHP 和 CSS/JavaScript 包版本同时解析。 这可以通过使用 asset-packagist.org 或 composer asset plugin 来实现。 有关更多详细信息,请参阅 Assets 文档。
您可能希望通过本地 Bower/NPM 客户端管理您的 assets,使用 CDN 或完全避免 assets 的安装。 为了防止通过 Composer 安装 assets,请将以下几行添加到您的 ‘composer.json’ 中:
"replace": {
"bower-asset/jquery": ">=1.11.0",
"bower-asset/inputmask": ">=3.2.0",
"bower-asset/punycode": ">=1.3.0",
"bower-asset/yii2-pjax": ">=2.0.0"
},
注意: 在通过 Composer 绕过 assets 安装的情况下,您负责 assets 的安装和解决版本冲突。 准备来自不同扩展名的 assets 文件之间的可能不一致。
使用PHP创建一个WEB服务器,临时测试安装是否正确:
$ /usr/bin/php -S 192.168.1.240:8080 -t /data/site/localhost/yii/basic/web
这样通过浏览器访问:http://192.168.1.240:8080,就能访问Yii的页面了。
Nginx相关的配置:
vi /etc/nginx/domain/localhost8080.conf
server
{
charset utf-8;
client_max_body_size 128M;
listen 8080;
server_name 127.0.0.1 192.168.1.240 localhost;
root /data/site/localhost/yii/basic/web;
index index.php index.html index.htm;
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;
}
access_log /log/domain/localhost/access_8080.log access;
error_log /log/domain/localhost/error_8080.log;
}
使用自带的环境检测工具,检测一下是否满足运行条件:
# mv basic/requirements.php basic/web/
打开链接:http://192.168.1.240:8080/requirements.php
根据提示我们进行针对性的解决:
安装Intl
# dnf -y install php-intl
Yii的URL去掉index.php,只显示路径的方法
#
# vi config/web.php #basic基本的应用程序模板
# vi frontend/config/main.php #advanced高级的应用程序模板
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
],
],
把上面内容的注释去掉,就可以实现类似:“http://localhost/user/index”的访问了
添加更多应用程序:
虽然有单独的前端和后端是常见的,有时它是不够的。 例如,您可能需要额外的应用程序,例如博客(blog)。 使用如下方式创建:
- 复制 frontend 至 blog,
复制environments/dev/frontend 至 environments/dev/blog
复制environments/prod/frontend 至 environments/prod/blog
2.调整命名空间和路径以 blog 开头(替换 frontend)包括以下文件:
blog/controllers/*
blog/models/*
blog/config/main.php
blog/config/test.php
blog/assets/AppAsset.php
blog/views/layouts/main.php
3.在 common\config\bootstrap.php 中添加
Yii::setAlias('blog', dirname(dirname(__DIR__)) . '/blog');.
4.Nginx或Apache的配置文件修改
9Tristone 发布了25 篇原创文章 · 获赞 2 · 访问量 1479 私信 关注