SQLSTATE HY000 2002 while 运行 烘焙命令
SQLSTATE HY000 2002 while running bake command
烘焙命令有问题运行。我认为它与 mysql 有关,但我没有在 Whosebug 上找到任何解决此错误的方法。
这是我的 app.php
:
'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => 'localhost',
//'port' => 'nonstandard_port_number',
'username' => 'root',
'password' => 'root',
'database' => 'laboiterose',
'encoding' => 'utf8',
'timezone' => 'UTC',
'cacheMetadata' => true,
请帮忙,我得到的错误是:
Exception: SQLSTATE[HY000] [2002] No such file or directory in [/Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Database/Driver/PDODriverTrait.php, line 48]
2015-06-19 14:35:48 Error: [PDOException] SQLSTATE[HY000] [2002] No such file or directory
Stack Trace:
0 /Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Database/Driver/PDODriverTrait.php(48): PDO->__construct('mysql:host=loca...', 'root', 'root', Array)
1 /Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Database/Driver/Mysql.php(89): Cake\Database\Driver\Mysql->_connect('mysql:host=loca...', Array)
2 /Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Database/Schema/BaseSchema.php(46): Cake\Database\Driver\Mysql->connect()
3 /Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Database/Dialect/MysqlDialectTrait.php(62): Cake\Database\Schema\BaseSchema->__construct(Object(Cake\Database\Driver\Mysql))
4 /Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Database/Schema/Collection.php(52): Cake\Database\Driver\Mysql->schemaDialect()
5 /Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Database/Schema/CachedCollection.php(44): Cake\Database\Schema\Collection->__construct(Object(Cake\Database\Connection))
6 /Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Database/Connection.php(319): Cake\Database\Schema\CachedCollection->__construct(Object(Cake\Database\Connection), true)
7 /Applications/MAMP/htdocs/my_db/vendor/cakephp/bake/src/Shell/Task/ModelTask.php(806): Cake\Database\Connection->schemaCollection()
8 /Applications/MAMP/htdocs/my_db/vendor/cakephp/bake/src/Shell/Task/ModelTask.php(782): Bake\Shell\Task\ModelTask->_getAllTables()
9 /Applications/MAMP/htdocs/my_db/vendor/cakephp/bake/src/Shell/Task/ModelTask.php(186): Bake\Shell\Task\ModelTask->listAll()
10 /Applications/MAMP/htdocs/my_db/vendor/cakephp/bake/src/Shell/Task/ModelTask.php(109): Bake\Shell\Task\ModelTask->getAssociations(Object(Cake\ORM\Table))
11 /Applications/MAMP/htdocs/my_db/vendor/cakephp/bake/src/Shell/Task/ModelTask.php(95): Bake\Shell\Task\ModelTask->bake('Users')
12 /Applications/MAMP/htdocs/my_db/vendor/cakephp/bake/src/Shell/BakeShell.php(241): Bake\Shell\Task\ModelTask->main('Users')
13 [internal function]: Bake\Shell\BakeShell->all('users')
14 /Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Console/Shell.php(380): call_user_func_array(Array, Array)
15 /Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Console/ShellDispatcher.php(204): Cake\Console\Shell->runCommand(Array, true)
16 /Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Console/ShellDispatcher.php(175): Cake\Console\ShellDispatcher->_dispatch()
17 /Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Console/ShellDispatcher.php(126): Cake\Console\ShellDispatcher->dispatch()
18 /Applications/MAMP/htdocs/my_db/bin/cake.php(33): Cake\Console\ShellDispatcher::run(Array)
19 {main}
可以测试
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'laboiterose',
'encoding' => 'utf8',
'timezone' => 'UTC',
'cacheMetadata' => true,
'quoteIdentifiers' => false,
],
问题解决!!
我唯一应该添加的是 .bash_profile 中的这一行以使其工作:
export PATH=/Applications/MAMP/bin/php/php5.6.10/bin:$PATH
首先,让我们找出运行正在使用的 PHP 版本(确定它是否是默认版本)。
为此,在终端内,执行此命令:
which php
这应该输出到默认 PHP 安装的路径,它由 Mac OS X 预安装,默认情况下它必须是(假设你之前没有改变它):
/usr/bin/php
现在,我们只需要将其切换到与 MAMP 一起安装的 PHP,它位于 /Applications/MAMP/bin/php/php7.0.0/bin (MAMP 3.5)
为此,我们需要编辑 .bash_profile 并将 PHP 的 MAMP 版本添加到 PATH 变量。
请遵循以下简单步骤:
在终端内,运行 vim ~/.bash_profile
键入 i
,然后将以下内容粘贴到文件顶部:
export PATH=/Applications/MAMP/bin/php/php5.4.10/bin:$PATH
按 ESC,键入 :wq
,然后按 Enter
在终端中,运行 source ~/.bash_profile
在终端中,再次输入 which php
并查找更新后的字符串。如果一切顺利,它应该输出 MAMP PHP install.
的新路径
如果它没有输出正确的路径,请尝试关闭终端 window(完全退出)并再次打开,它应该应用更改(简称重启)。
我认为这是最好的方法:
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
将此添加到您的数据库配置中
我是初学者,在 MAC 上使用 MAMP 在 CakePHP 教程中遇到了这个问题。
首先,我使用以下命令在我的 MAMP 中找到 php:
find /Applications/mampstack-7.1.21-0/ -type f -name php
这应该输出你的目录…。在我的例子中是:
/Applications/mampstack-7.1.21-0//php/bin/php
然后我找到.bash_profile
并用这个命令打开它:
touch ~/.bash_profile; open ~/.bash_profile
它将使用文本编辑打开它。然后在这个文件中,我编辑了第一个命令获得的路径,并使用 sbin:
删除了额外的路径
export PATH="/Applications/mampstack-7.1.21-0/php/bin/:$PATH"
在终端命令中:
grep php ~/.bash_profile
然后我关闭了所有终端,然后它对我有用。
非常感谢您的第一条评论,这对找到这个解决方案很有帮助。
将 'host' => 'localhost',
更改为 'host' => '127.0.0.1',
解决了我的异常问题。
'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => '127.0.0.1',
我 运行 在 Ampps 上。
烘焙命令有问题运行。我认为它与 mysql 有关,但我没有在 Whosebug 上找到任何解决此错误的方法。
这是我的 app.php
:
'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => 'localhost',
//'port' => 'nonstandard_port_number',
'username' => 'root',
'password' => 'root',
'database' => 'laboiterose',
'encoding' => 'utf8',
'timezone' => 'UTC',
'cacheMetadata' => true,
请帮忙,我得到的错误是:
Exception: SQLSTATE[HY000] [2002] No such file or directory in [/Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Database/Driver/PDODriverTrait.php, line 48]
2015-06-19 14:35:48 Error: [PDOException] SQLSTATE[HY000] [2002] No such file or directory
Stack Trace:
0 /Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Database/Driver/PDODriverTrait.php(48): PDO->__construct('mysql:host=loca...', 'root', 'root', Array)
1 /Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Database/Driver/Mysql.php(89): Cake\Database\Driver\Mysql->_connect('mysql:host=loca...', Array)
2 /Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Database/Schema/BaseSchema.php(46): Cake\Database\Driver\Mysql->connect()
3 /Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Database/Dialect/MysqlDialectTrait.php(62): Cake\Database\Schema\BaseSchema->__construct(Object(Cake\Database\Driver\Mysql))
4 /Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Database/Schema/Collection.php(52): Cake\Database\Driver\Mysql->schemaDialect()
5 /Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Database/Schema/CachedCollection.php(44): Cake\Database\Schema\Collection->__construct(Object(Cake\Database\Connection))
6 /Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Database/Connection.php(319): Cake\Database\Schema\CachedCollection->__construct(Object(Cake\Database\Connection), true)
7 /Applications/MAMP/htdocs/my_db/vendor/cakephp/bake/src/Shell/Task/ModelTask.php(806): Cake\Database\Connection->schemaCollection()
8 /Applications/MAMP/htdocs/my_db/vendor/cakephp/bake/src/Shell/Task/ModelTask.php(782): Bake\Shell\Task\ModelTask->_getAllTables()
9 /Applications/MAMP/htdocs/my_db/vendor/cakephp/bake/src/Shell/Task/ModelTask.php(186): Bake\Shell\Task\ModelTask->listAll()
10 /Applications/MAMP/htdocs/my_db/vendor/cakephp/bake/src/Shell/Task/ModelTask.php(109): Bake\Shell\Task\ModelTask->getAssociations(Object(Cake\ORM\Table))
11 /Applications/MAMP/htdocs/my_db/vendor/cakephp/bake/src/Shell/Task/ModelTask.php(95): Bake\Shell\Task\ModelTask->bake('Users')
12 /Applications/MAMP/htdocs/my_db/vendor/cakephp/bake/src/Shell/BakeShell.php(241): Bake\Shell\Task\ModelTask->main('Users')
13 [internal function]: Bake\Shell\BakeShell->all('users')
14 /Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Console/Shell.php(380): call_user_func_array(Array, Array)
15 /Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Console/ShellDispatcher.php(204): Cake\Console\Shell->runCommand(Array, true)
16 /Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Console/ShellDispatcher.php(175): Cake\Console\ShellDispatcher->_dispatch()
17 /Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Console/ShellDispatcher.php(126): Cake\Console\ShellDispatcher->dispatch()
18 /Applications/MAMP/htdocs/my_db/bin/cake.php(33): Cake\Console\ShellDispatcher::run(Array)
19 {main}
可以测试
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'laboiterose',
'encoding' => 'utf8',
'timezone' => 'UTC',
'cacheMetadata' => true,
'quoteIdentifiers' => false,
],
问题解决!! 我唯一应该添加的是 .bash_profile 中的这一行以使其工作:
export PATH=/Applications/MAMP/bin/php/php5.6.10/bin:$PATH
首先,让我们找出运行正在使用的 PHP 版本(确定它是否是默认版本)。
为此,在终端内,执行此命令:
which php
这应该输出到默认 PHP 安装的路径,它由 Mac OS X 预安装,默认情况下它必须是(假设你之前没有改变它):
/usr/bin/php
现在,我们只需要将其切换到与 MAMP 一起安装的 PHP,它位于 /Applications/MAMP/bin/php/php7.0.0/bin (MAMP 3.5)
为此,我们需要编辑 .bash_profile 并将 PHP 的 MAMP 版本添加到 PATH 变量。 请遵循以下简单步骤:
在终端内,运行 vim ~/.bash_profile
键入 i
,然后将以下内容粘贴到文件顶部:
export PATH=/Applications/MAMP/bin/php/php5.4.10/bin:$PATH
按 ESC,键入 :wq
,然后按 Enter
在终端中,运行 source ~/.bash_profile
在终端中,再次输入 which php
并查找更新后的字符串。如果一切顺利,它应该输出 MAMP PHP install.
如果它没有输出正确的路径,请尝试关闭终端 window(完全退出)并再次打开,它应该应用更改(简称重启)。
我认为这是最好的方法:
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
将此添加到您的数据库配置中
我是初学者,在 MAC 上使用 MAMP 在 CakePHP 教程中遇到了这个问题。
首先,我使用以下命令在我的 MAMP 中找到 php:
find /Applications/mampstack-7.1.21-0/ -type f -name php
这应该输出你的目录…。在我的例子中是:
/Applications/mampstack-7.1.21-0//php/bin/php
然后我找到.bash_profile
并用这个命令打开它:
touch ~/.bash_profile; open ~/.bash_profile
它将使用文本编辑打开它。然后在这个文件中,我编辑了第一个命令获得的路径,并使用 sbin:
删除了额外的路径export PATH="/Applications/mampstack-7.1.21-0/php/bin/:$PATH"
在终端命令中:
grep php ~/.bash_profile
然后我关闭了所有终端,然后它对我有用。
非常感谢您的第一条评论,这对找到这个解决方案很有帮助。
将 'host' => 'localhost',
更改为 'host' => '127.0.0.1',
解决了我的异常问题。
'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => '127.0.0.1',
我 运行 在 Ampps 上。