分类 Code 下的文章

之前常用的mcrypt_encrypt()方法已经在php7.1版本之后弃用了

<?php
/**
* openssl 实现
*/
define('KEY', '12f862d21dcfeafb57bckfrrt5yuiopf');
$iv= md5(time().uniqid(),true);
# 加密 md5->true 为TRUE - 原始 16 字符二进制格式,FALSE - 默认。32 字符十六进制数
$str="Hello, world!";
echo $strEncode= base64_encode(openssl_encrypt($str, 'AES-128-CBC',KEY, OPENSSL_RAW_DATA , $iv)); # AES-256-CBC

/**
* 解密
*/
echo "<hr>";
echo openssl_decrypt(base64_decode($strEncode), 'AES-128-CBC', KEY, OPENSSL_RAW_DATA, $iv);

输出

aymCoIKkiDy2W3ecjKC0FA==


Hello, world!

在mysql运行group by查询语句的时候报1140或者1055错误是因为sql-mode设置的问题。

运行mysql>select @@sql-mode; 查询sql-mode模式

|ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |

ONLY_FULL_GROUP_BY:

对于GROUP BY聚合操作,如果在SELECT中的列,没有在GROUP BY中出现,那么将认为这个SQL是不合法的,因为列不在GROUP BY从句中

因为有only_full_group_by,所以我们要在MySQL中正确的使用group by语句的话,只能是select column1 from tb1 group by column1(即只能展示group by的字段,其他像select id,name from tb1 group by name;均都要报1055的错),所以删掉ONLY_FULL_GROUP_BY

在my.cnf种添加

sql-mode="STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_AUTO_CREATE_USER"

即可

以前随用随查随忘,最后除了几个常用的,一个也没记住,以后记一下,总结总结。
1. git init //初始化仓库
2. git add .(文件name) //添加文件到本地仓库
3. git commit -m "first commit" //添加文件描述信息
4. git remote add origin + 远程仓库地址 //链接远程仓库,创建主分支
5. git pull origin master // 同步本地与远程仓库文件
6. git push -u origin master //把本地仓库的文件推送到远程仓库,强推后面加-f

tether.min.js 是bootstrap的

本机测试用,环境wamp3.1.3

1.安装wamp3.1.3,win10下需要安装vcredist_x64.exe

2.配置php环境变量,略。(如果可以用php7以上版本的话尽量用php7以上版本,laravel5.5版本以上的支持平衡php7以上版本,低于php7安装时会报几个错误)

3.composer安装,有win下的Composer-Setup.exe安装包,方便快捷。(选择php版本时也选php7以上版本)

4.git安装

5.git clone monday-shop 源码

6.进入源码根目录,php环境变量时7.0以上版本安装的可以直接composer install ,其他版本的可以copy composer.phar到根目录下,指定php路径来执行 composer.phar install(避免php版本问题执行composer不成功和laravel5.5不支持php7以下版本的问题)

7.win下copy .env.example .env 设置数据库连接信息

8.运行php7 artisan moon:install (迁移数据库)(区分php7以下)

括号内避免采坑!!!