php7.0.x mysql5.x_【原创:PHP环境】centos7.x+Nginx1.x+PHP7.x+MySQL5.7环境搭配时常见错误处理...

笔者趁着双十一买了阿里的服务器,装上centos7和php7,准备玩一玩swoole,不说了,下面贴一下 装lnmp1.6时常见的错误及处理方案。(都是亲测有效的。)

1、错误1:nginx下tp5和laravel5的伪静态:(亲测可用,可直接使用ip:port访问,域名还没审批下来 -- 阿里云安全组记得打开,firewall关闭)

server {

listen8055;

server_name localhost;

root/home/wwwroot/default/laravel5.5/public/;

#index index.php index.html index.htm;

location/{

index index.html index.htm index.php;

autoindex off;if (!-e $request_filename) {

rewrite^(.*)$ /index.php?s=$1last;break;

}

}

location~ \.php(.*)$ {

fastcgi_pass unix:/tmp/php-cgi.sock;  #这个和php-fpm.conf的listen必须一致,否则nginx无法与php-fpm通信

fastcgi_index index.php;

fastcgi_split_path_info^((?U).+\.php)(/?.+)$;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param PATH_INFO $fastcgi_path_info;

fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;

include fastcgi_params;

}

location~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {

expires 30d;

}

location~ .*\.(js|css)?$ {

expires 12h;

}

access_log/home/wwwlogs/laravel5.5-access.log;

}

2、问题2及解决方案:nginx伪静态配好了,php7访问还是报错:Access Denied!

访问nginx-php页面的时候 报access denied.

访问页面的时候出现这个时access denied

只需到/usr/local/php/etc/php.ini中修改一下

① 将【 ;open_basedir= 】 注释掉

② 把这个值赋值为1 cgi.fix_pathinfo=1

重启nginx

3、问题3:MySQL5.7报错:

[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns

in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

处理方案:

我们先看看原因:

MySQL 5.7.5及以上功能依赖检测功能。如果启用了ONLY_FULL_GROUP_BY SQL模式(默认情况下),MySQL将拒绝选择列表,HAVING条件或ORDER BY列表的查询引用在GROUP BY子句中既未命名的非集合列,也不在功能上依赖于它们。(5.7.5之前,MySQL没有检测到功能依赖关系,默认情况下不启用ONLY_FULL_GROUP_BY。有关5.7.5之前的行为的说明,请参见“MySQL 5.6参考手册”。)

navicat执行:

SHOW VARIABLES LIKE'%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,STRICT_TRANS_TABLES,】这两个变量坏的事,去掉这2个

根治办法:

首先stop mysql,

首先stop mysql,

首先stop mysql,

vi/etc/my.cnf

在【mysqld】下查找sql_mode,没有则新增:

sql_mode= "NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

重启MySQL,ojbk。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值