php yii2提示Database Exception – yii\db\Exception错误

参照YII2 advanced 高级版本项目搭建-添加API应用以及多应用中的方法创建了一个新的api应用,其中便自带gii工具。
但在yii2的gii工具中点Model Generator的Start来创建model时发现错误
提示:
Database Exception – yii\db\Exception

SQLSTATE[HY000] [2002] No such file or directory yii\db\Exception

大部分博客都是说要找到php.ini文件并设置其为

pdo_mysql.default_socket= /path-to-mysqlsock/mysql.sock
mysqli.default_socket =/path-to-mysqlsock/mysql.sock

mysql是老版本的mysql,无须设置。
其中php.ini的路径可由在网页目录下创建php.php文件,其内容为

<?php phpinfo()?>

从网页访问/php.php,即可看到php.ini的路径;
如果php.ini一栏(Loaded Configuration File)显示none,说明并无php.ini文件加载。
需要你把你要加载的php.ini文件复制到Configuration File (php.ini) Path所示的路径中,重启php-fpm,才算把php.ini加载成功。

mysql.sock(mysqld.sock)的路径可用

sudo find / -name mysql.sock
sudo find / -name mysqld.sock

来搜索,搜到任意一个都可用。

但在此并无法解决我的问题,错误提示依旧。

bigsoft看到说需更改执行“yii”脚本的应用程序路径(php),在yii应用的根目录,打开“yii”脚本,可看到其执行程序为
#!/usr/bin/env php

于是在终端中输入php -v查看php版本,发现与phpinfo里面提示的版本不一致,一个是7.0,一个所7.1。phpinfo里面显示的版本其实是php-fpm的版本号。于是打算把php从7.0升级为7.1。

在php官网下载php源代码,去到源代码根目录,并复制phpinfo中的Configure Command ,把头尾的'去掉,并把中间的' '替换为,即可在终端粘贴,即运行编译配置程序。接着makemake install即可。
接着去Configure Command中设置的安装路径下,把bin文件下的php软链到/usr/bin下即可。另外重启php-fpm,如有错误,解决相应的问题即可,如库丢失的问题,把相应的.so文件复制到错误提示的库目录下即可。
此外还得把php-fpm.conf.default复制成php-fpm.conf,php-fpm.d里面的www.conf.default复制成www.conf,并把其中的
user和group改成自己运行php-fpm时想用的user和group。

php版本和php-fpm版本一致,此时便再无此错误了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值