cakephp-bake-SQLSTATE[HY000][2002]没有这样的文件或目录

cakephp-bake-SQLSTATE[HY000][2002]没有这样的文件或目录,php,cakephp,Php,Cakephp,我遵循了CakePHP教程,到目前为止一切都很好(新添加的文章显示在db中)。但现在我尝试“bin/cake bake model users”,我得到了以下错误消息:SQLSTATE[HY000][2002]在[/opt/lampp/htdocs/MyApp/vendor/cakephp/cakephp/src/Database/Driver.php,第92行]中没有这样的文件或目录。 我在这里找到了这个解决方案:。但这在linux(Ubuntu)上似乎不起作用。任何帮助都将不胜感激 完全错误

我遵循了CakePHP教程,到目前为止一切都很好(新添加的文章显示在db中)。但现在我尝试“bin/cake bake model users”,我得到了以下错误消息:SQLSTATE[HY000][2002]在[/opt/lampp/htdocs/MyApp/vendor/cakephp/cakephp/src/Database/Driver.php,第92行]中没有这样的文件或目录。 我在这里找到了这个解决方案:。但这在linux(Ubuntu)上似乎不起作用。任何帮助都将不胜感激

完全错误:

Exception: SQLSTATE[HY000] [2002] No such file or directory in [/opt/lampp/htdocs/MyApp/vendor/cakephp/cakephp/src/Database/Driver.php, line 92] 2018-12-06 11:28:03 Error: [PDOException] SQLSTATE[HY000] [2002] No such file or directory in /opt/lampp/htdocs/MyApp/vendor/cakephp/cakephp/src/Database/Driver.php on line 92 Stack Trace:
#0 /opt/lampp/htdocs/MyApp/vendor/cakephp/cakephp/src/Database/Driver.php(92): PDO->__construct('mysql:host=loca...', 'root', '', Array)
#1 /opt/lampp/htdocs/MyApp/vendor/cakephp/cakephp/src/Database/Driver/Mysql.php(106): Cake\Database\Driver->_connect('mysql:host=loca...', Array)
#2 /opt/lampp/htdocs/MyApp/vendor/cakephp/cakephp/src/Database/Schema/BaseSchema.php(45): Cake\Database\Driver\Mysql->connect()
#3 /opt/lampp/htdocs/MyApp/vendor/cakephp/cakephp/src/Database/Dialect/MysqlDialectTrait.php(63): Cake\Database\Schema\BaseSchema->__construct(Object(Cake\Database\Driver\Mysql))
#4 /opt/lampp/htdocs/MyApp/vendor/cakephp/cakephp/src/Database/Schema/Collection.php(52): Cake\Database\Driver\Mysql->schemaDialect()
#5 /opt/lampp/htdocs/MyApp/vendor/cakephp/cakephp/src/Database/Schema/CachedCollection.php(42): Cake\Database\Schema\Collection->__construct(Object(Cake\Database\Connection))
#6 /opt/lampp/htdocs/MyApp/vendor/cakephp/cakephp/src/Database/Connection.php(391): Cake\Database\Schema\CachedCollection->__construct(Object(Cake\Database\Connection), true)
#7 /opt/lampp/htdocs/MyApp/vendor/cakephp/bake/src/Shell/Task/ModelTask.php(1052): Cake\Database\Connection->getSchemaCollection()
#8 /opt/lampp/htdocs/MyApp/vendor/cakephp/bake/src/Shell/Task/ModelTask.php(1006): Bake\Shell\Task\ModelTask->_getAllTables()
#9 /opt/lampp/htdocs/MyApp/vendor/cakephp/bake/src/Shell/Task/ModelTask.php(213): Bake\Shell\Task\ModelTask->listAll()
#10 /opt/lampp/htdocs/MyApp/vendor/cakephp/bake/src/Shell/Task/ModelTask.php(131): Bake\Shell\Task\ModelTask->getAssociations(Object(Cake\ORM\Table))
#11 /opt/lampp/htdocs/MyApp/vendor/cakephp/bake/src/Shell/Task/ModelTask.php(114): Bake\Shell\Task\ModelTask->getTableContext(Object(Cake\ORM\Table), 'users', 'Users')
#12 /opt/lampp/htdocs/MyApp/vendor/cakephp/bake/src/Shell/Task/ModelTask.php(101): Bake\Shell\Task\ModelTask->bake('Users')
#13 /opt/lampp/htdocs/MyApp/vendor/cakephp/cakephp/src/Console/Shell.php(532): Bake\Shell\Task\ModelTask->main('users')
#14 /opt/lampp/htdocs/MyApp/vendor/cakephp/cakephp/src/Console/Shell.php(525): Cake\Console\Shell->runCommand(Array, false, Array)
#15 /opt/lampp/htdocs/MyApp/vendor/cakephp/cakephp/src/Console/CommandRunner.php(342): Cake\Console\Shell->runCommand(Array, true)
#16 /opt/lampp/htdocs/MyApp/vendor/cakephp/cakephp/src/Console/CommandRunner.php(164): Cake\Console\CommandRunner->runShell(Object(Bake\Shell\BakeShell), Array)
#17 /opt/lampp/htdocs/MyApp/bin/cake.php(12): Cake\Console\CommandRunner->run(
阵列)


18{main}遵循以下几点

  • 您的cake php未连接到任何本地数据库,请访问 从浏览器中选择pagesController,查看其是否连接到数据库,如果 不需要在config/app.php中使用数据库名称和 凭证
  • 您在cake php项目目录中,请尝试点击相同的“bin\cake” 烘焙模型用户“在windows中,linux使用”bin/cake烘焙模型 用户”

  • 回复此线程如果问题未解决

    在我的案例中,通过更改app/config.php解决了问题,只需将数据源主机从“localhost”更改为“127.0.0.1”


    您是否使用composer安装了Cakephp?如果您删除
    供应商
    目录并执行
    composer安装
    ,问题将得到解决。我刚刚遇到了相同的问题,Linux上的Xampp堆栈中有Cakephp 3.8。原因是运行的PHP版本错误(我在
    /usr/bin/PHP
    上安装了PHP)。解决方案:在我的路径中添加路径
    /opt/lampp/bin
    ,一切正常。:)
        'Datasources' => [
        'default' => [
            'className' => 'Cake\Database\Connection',
            'driver' => 'Cake\Database\Driver\Mysql',
            'persistent' => false,
            'host' => '127.0.0.1',...