寻求帮助 SQLSTATE [HY000] [2002] No such file or directory

问题如下

PDOException in Connector.php line 55:
SQLSTATE[HY000] [2002] No such file or directory

以下是我的程序和配置文件

app/Http/Controllers/TongjiController.php 控制器

<?php                                                                 
namespace App\Http\Controllers;                                       
use App\Tongji;                                                       
class TongjiController extends Controller                             
{                                                               
public function info()                                            
{
return Tongji::mTestCRUD(1);  # DB::select                    
}                                                                 
}                                                                     
?>                                                                    

app/Tongji.php model 文件

<?php                                              
namespace App;                                     
use Illuminate\Database\Eloquent\Model;            
use Illuminate\Support\Facades\DB;                 
class Tongji extends Model                         
{                                                  
static function mTestCRUD($iType=1)            
{                                              
$sSql = '';                                
switch($iType)                             
{                                          
case 1:                                
$sSql = 'SELECT * FROM `student`'; 
break;                             
case 2:                                
$sSql = '';                        
break;                             
case 3:                                
$sSql = '';                        
break;                             
default:                               
$sSql = '';                        
}                                          
return DB::select($sSql);                  
}                                              
}                                                  
?>

config/database.php

'mysql' => [                                                                          
'driver'    => 'mysql',                                                           
'host'      => env('DB_HOST', 'localhost'),                                       
'database'  => env('DB_DATABASE', 'forge'),                                       
'username'  => env('DB_USERNAME', 'forge'),                                       
'password'  => env('DB_PASSWORD', ''),                                            
'charset'   => 'utf8',                                                            
'collation' => 'utf8_unicode_ci',                                                 
'prefix'    => '',                                                                
'strict'    => false,                                                             
'engine'    => null,                                                              
], 

.env

DB_HOST=localhost  
DB_DATABASE=laravel
DB_USERNAME=root   
DB_PASSWORD=       
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1

解决 SQLSTATE [HY000] [2002] No such file or directory

# 在 php.ini 中找到一下几行,添加 mysql.sock 的位置(我的是/tmp/mysql.sock)
mysql.default_socket = 
pdo_mysql.default_socket=
mysqli.default_socket =
# 查看运行的 MySQL 的 mysql.sock 的路径
ps -ef |grep mysql
# mysql     4981  3266  0 9月07 ?       00:01:46 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --skip-log-error --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306
# 添加软连
ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock
# 重启 apache 或者NGINX下重启 php-fpm
# 如果你不知道自己使用的是mysql.sock还是mysqld.sock文件,或者不知道mysql_socket文件的位置,打开phpinfo() 函数信息页面找到如下PHP扩展中MYSQL扩展所在位置,找到里面的MYSQL_SOCKET对应的路径值复制出来即可
7年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!