1、安装composer
// 若未安装curl扩展,yum install curl
curl -sS https://getcomposer.org/installer | php // 下载composer.phar
mv composer.phar /usr/local/bin/composer // 拷贝到bin目录后,以后使用就可以直接 composer
2、配置composer中国更新镜像,修改composer全局配置文件
// 查看本机composer配置参数
composer config -l -g
...
[home] /root/.config/composer // 安装目录
// composer运行配置文件config.json
vim /root/.config/composer/config.json
{
"config": {},
"repositories": [
{
"packagist": false
},
{
"type": "composer",
"url": "https://packagist.phpcomposer.com/"
}
]
}
// 项目依赖关系说明文件 composer.json
composer config -e
// 修改composer的镜像地址(就是把默认的镜像地址修改成国内的)
composer config -g repo.packagist composer https://packagist.phpcomposer.com
3、更新composer
composer self-update
# 更新完成后会有一个版本,填写在下面
composer global require "fxp/composer-asset-plugin:~1.1.1"
# 注意:输入命令提示警告信息解决方法
rm -rf ~/.composer/vendor/fxp // 删除临时文件,在运行命令就不会报错啦
# 在当前目录上一层目录中安装yii2 (这一步需要等的时间挺长 )
# 高级版(分前后台 )
composer create-project --prefer-dist yiisoft/yii2-app-advanced projectName
# 基础版(不分前后台)
composer create-project --prefer-dist yiisoft/yii2-app-basic projectName
注意:--stability=dev ( Yii 的开发版(dev 版)不应该用于生产环境中 )
注意:这里有两个版本
1:普通版(yiisoft/yii2-app-basic)
2:高级版,分(yiisoft/yii2-app-advanced)
4、安装好模板之后,需要对模板进行初始化操作,cd 进入yii2项目目录,输入php init 命令,再选择开发环境0,y,all即进行初始化
5、如果安装的yii2没有vendor文件夹,可以试着清除composer的cache
composer clearcache
然后回到yii2根目录执行composer update -vvv,这里加-vvv是可以显示这条命令的执行进度,
如果只执行composer update,用的是国内镜像的话,很有可能会卡在updating dependencies(including require-dev)这里就没反应了,所以可以加个-vvv来显示命令执行进度,避免误以为是卡住而强制关闭连接。
https://discuss.flarum.org.cn/d/1317
中国镜像配置参考
http://pkg.phpcomposer.com/#tip1
安装参考
https://segmentfault.com/a/1190000003103506
出现如下提示:
Database Exception – yii\db\Exception
SQLSTATE[HY000] [2002] No such file or directory
在进行数据库操作时出现如下类似错误,实际则是PHP配置文件php.ini中未指定mysql.sock(或mysqld.sock)文件路径导致的PDO无法链接数据库
解决方法是在php.ini文件中自己手动指向mysql.sock路径
show variables like '%sock%';
find / -iname php.ini 找到php.ini文件
vim php.ini
mysql.default_socket = /tmp/mysql.sock
pdo_mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock
改成mysql.sock实际的路径
开启
extension=php_mysql.dll
extension=php_mysqli.dll
高级模板
初始化项目
php init
定时任务
cd /home/xxx/data/website/advanced/console/controllers
vim TaskController.php
<?php
namespace console\controllers;
use yii\console\Controller;
class TaskController extends Controller
{
public function actionIndex()
{
file_put_contents('task.log', date('Y-m-d H:i:s') . "\n", FILE_APPEND);
echo "我是index方法\n";
}
public function actionTest()
{
echo "我是test方法\n";
}
}
#切换到项目根目录
cd /home/xxx/data/website/advanced
#运行console定时任务
php yii task/index
定时任务
crontab -e #打开定时任务编辑界面
*/1 * * * * php /home/xxx/data/website/advanced/yii task/index #写入定时程序代码
:wq #保存退出
crontab: installing new crontab #有此提示,说明定时任务创建成功
systemctl restart crond #重启crontab使任务生效
执行env命令得到当前用户的环境变量
vim /etc/crontab 修改PATH环境变量 与 env一致
*/1 * * * * cd /home/xxx/data/website/advanced/ && php yii task/index
Yii2 queue的队列使用详解:https://www.jb51.net/article/165724.htm