_ubuntu 16.04.
_を使用します
_PHP Version 7.0.4-7ubuntu2
_。Apache/2.4.18 (Ubuntu)
。
_PHP extension: mysqli
_(phpmyadminで記述)。
_15.10 to 16.04
_からubuntuをアップグレードしましたが、次のエラーが発生しました:
私のプロジェクトは私のサーバーで正しく実行されますが、私のosでは実行できません:
_Database Exception – yii\db\Exception
SQLSTATE[HY000] [2002] No such file or directory
↵
Caused by: PDOException
SQLSTATE[HY000] [2002] No such file or directory
in /var/www/html/iicitySite/vendor/yiisoft/yii2/db/Connection.php at line 579
_
ホストとして「localhost」を「127.0.0.1」に変更する
return [
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:Host=127.0.0.1;dbname=abc',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
],
MAMPユーザー向けのソリューションは
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:Host=localhost;port=8889;dbname=mydbname;unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock',
'username' => 'myuser',
'password' => 'mypassword',
'charset' => 'utf8',
],
],
mampを使用する場合は、MAC OSで「php」コマンドを使用しないでください。ただし、/Applications/MAMP/bin/php/php5.6.30/bin/php yii migrate
など、mampで「php」を使用してください。
私はMAMP環境で実行しており、上記の2つのソリューションを使用してうまく機能します
localhost
を127.0.0.1
に変更しますlocalhost:3306
)この答えがあなたを助けることを願っています:
ホスト名をlocalhostから127.0.0.1に変更します
これはbackend\common\config\main-local.php内にあります
次にphp yii migrateを実行します。
うまくいけば、データベースにテーブルが正常に作成されます
PHP 7.2.24-0ubuntu0.18.04.3、
Mysqlへのソケットパスログインを取得し、次の手順を実行するには
ターミナルを開き、次の手順を実行します
mysql -u root -p
mysql> show variables like '%sock%';
+-----------------------------------------+------------------------------------------------------+
| Variable_name | Value |
+-----------------------------------------+------------------------------------------------------+
| mysqlx_socket | /tmp/mysqlx.sock |
| performance_schema_max_socket_classes | 10 |
| performance_schema_max_socket_instances | -1 |
| socket | /opt/packages/lampstack-7.3.9-0/mysql/tmp/mysql.sock |
+-----------------------------------------+------------------------------------------------------+
4 rows in set (0.00 sec)
exit
次に、以下の構成情報を追加します
'class' => 'yii\db\Connection',
'dsn' => 'mysql:unix_socket=/opt/packages/lampstack-7.3.9-0/mysql/tmp/mysql.sock;dbname=basketmantra',
'username' => 'root',
'password' => 'root123',
'charset' => 'utf8',
これが役に立てば幸い
場合によっては、httpd、Apache、またはlamppを使用することもできます。また、ターミナルのphpおよびmysqlコマンドが、Webサーバーが使用しているバージョンと同じであることを確認してください。
phpinfo()は、Webサーバーが使用しているバージョンを確認するのに役立ちます
<?php
phpinfo();
?>
コマンドの場合
$ type php
php is hashed (/usr/bin/php)
$ type mysql
mysql is /opt/packages/lampstack-7.3.9-0/mysql/bin/mysql
私も同じ問題を抱えていました。 localhost
を変更しても問題は解決しませんでした。代わりに、次のようにdbポートを追加します。
'dsn'=>'mysql:Host=localhost:3307;dbname=geep'